URL特殊文字を安全に送信するためにエンコードしたり、元に戻すためにデコードします。
URLエンコーディング(パーセントエンコーディングとも呼ばれる)は、URI(Uniform Resource Identifier)で情報をエンコードするメカニズムです。安全でないASCII文字を、その文字のバイト値を表す2桁の16進数に'%'を付けて置き換えます。これにより、URLが有効なまま維持され、インターネット上で問題なく転送できます。
URLエンコーディングは、文字をインターネット上で転送可能な形式に変換します。安全な文字(A-Z、a-z、0-9、-、_、.、~)はそのまま維持されます。その他のすべての文字はUTF-8バイトシーケンスに変換され、各バイトは%XX(XXは16進数値)として表現されます。
Hello World
Hello%20World
name=John&age=30
name%3DJohn%26age%3D30
https://example.com/search?q=test
https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dtest
URLにユーザー入力や特殊文字を含める場合、特にクエリパラメータやパスセグメントでは常にURLエンコードを行う必要があります。
encodeURIは完全なURIをエンコードし、:, /, ?, # などの文字を保持します。一方、encodeURIComponentは英数字と - _ . ~ 以外のすべての文字をエンコードするため、クエリパラメータの値のエンコードに適しています。