JavaScriptでエンコードした文字列をデコードする方法
JavaScriptで文字列をエンコードするには encodeURIComponent() または encodeURI() を使用し、デコードするには decodeURIComponent() または decodeURI() を使用します。
かつては escape() 関数がエンコードによく使われていましたが、現在では非推奨(deprecated)となっているため、代わりに encodeURI() を使うのが標準的な方法です。
構文
エンコード
encodeURIComponent(string);
デコード
decodeURIComponent(string);
encodeURI() と encodeURIComponent() の違い
encodeURI() はURL全体を対象とする関数で、URIの構成上特別な意味を持つ記号(/ ? : @ & = + $ # など)はそのまま残されます。一方、encodeURIComponent() はこれらの記号も含めてほぼすべての特殊文字をエンコードするため、クエリパラメータなどの値を安全に渡したい場合に適しています。
デコードの際も同様に、エンコード時に使用した関数に対応した decodeURI() または decodeURIComponent() を使い分けることが重要です。
サンプルコード
次の例では、まず文字列を encodeURI() でエンコードし、続けてその結果を decodeURI() でデコードしています。エンコード後とデコード後の両方の結果が画面に出力されます。
<html>
<body>
<p id="encoding"></p>
<script>
var str = "Tutorix is the best e-learning platform";
var enc = encodeURI(str);
var dec = decodeURI(enc);
var res = "After encoding: " + enc +
"</br>" + "After Decoding: " + dec;
document.getElementById("encoding").innerHTML = res;
</script>
</body>
</html>
実行結果
After encoding: Tutorix%20is%20the%20best%20e-learning%20platform After Decoding: Tutorix is the best e-learning platform
まとめ
文字列のエンコードには encodeURI() または encodeURIComponent() を、デコードにはそれぞれ対応する decodeURI() または decodeURIComponent() を使用します。非推奨となった escape() は新しいコードでは使用しないようにしましょう。用途に応じて適切な関数を選ぶことで、URLやパラメータを安全かつ正確に扱うことができます。
-
JavaScriptで文字列を検索する方法【search()メソッドの使い方を解説】
JavaScriptで文字列を検索する方法 JavaScriptで文字列の中から特定の文字列を探すには、search()メソッドを使用します。このメソッドは、引数に渡した文字列(または正規表現)が対象の文字列内で最初に一致した位置(インデックス)を返し、見つからなかった場合は -1 を返します。 以下は、JavaScriptで文字列を検索するサンプルコードです。 サンプルコード <!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8" />
-
文字列をJavaScriptオブジェクトに変換する方法【JSON.parse()の使い方】
JavaScriptでJSON形式の文字列をオブジェクトに変換するには、JSON.parse()メソッドを使用します。このメソッドは、引数に渡された文字列を解析(パース)し、対応するJavaScriptオブジェクトを返します。 サンプルコード <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Docum