URLエンコードとは?
URLエンコード(パーセントエンコーディング)は、URL中の特殊文字をインターネットで安全に送信できる形式に変換します。文字は「%」に続く16進数値に置き換えられます。
encodeURIとencodeURIComponentの違い
- encodeURI:完全なURIをエンコードしますが、URLで特別な意味を持つ文字(: / ? # [ ] @ ! $ & ' ( ) * + , ; =)は保持します。
- encodeURIComponent:A-Z、a-z、0-9、- _ . ~ 以外のすべてをエンコードします。クエリパラメータの値をエンコードする場合に使用します。
使い分け
- 完全なURLをエンコードして構造を維持したい場合はencodeURIを使用。
- クエリ文字列のパラメータ値をエンコードする場合はencodeURIComponentを使用。
よくある質問
Unicode(日本語)に対応していますか?
はい。Unicode文字(日本語、絵文字など)はUTF-8パーセントエンコーディングで正しくエンコードされます。
URLエンコードとBase64は同じですか?
いいえ。URLエンコードは安全でない文字をパーセントエンコードされた文字に置き換えますが、Base64はバイナリデータを64種類の文字で表現するテキスト変換方式です。