URLエンコードが必要な理由
URLにはそのまま使えない文字や、意味を持つ記号があります。日本語、スペース、&、=、? などを適切に変換しないと、クエリ文字列が壊れたり、意図しないパラメータとして解釈されることがあります。
URLとテキストの相互変換。クエリパラメータ用の encodeURIComponent と URL全体用の encodeURI を切替可能。 すべてブラウザ内で処理され、入力データはサーバーに送信されません。
💡 URL エンコードについて
%XX 形式(パーセントエンコーディング、RFC 3986)に変換します。/ ? = & # もエンコードするため、URL構造を壊しません。/ ? = など)はそのまま残します。日本語パスを含むURLの正規化に便利です。%XX%XX%XX のように複数バイト分エンコード)。% シーケンス(例: %ZZ)が含まれているとエラーになります。URL Encoder / Decoder は、日本語URL、クエリパラメータ、予約文字をエンコード・デコードするツールです。APIリクエスト、リダイレクトURL、OAuthのcallback URL確認などで使えます。
URL文字列の変換はブラウザ内で完結し、入力したURLはsecutilsのサーバーへ送信されません。
URLにはそのまま使えない文字や、意味を持つ記号があります。日本語、スペース、&、=、? などを適切に変換しないと、クエリ文字列が壊れたり、意図しないパラメータとして解釈されることがあります。
URL全体を扱う場合と、クエリ値の一部だけを扱う場合では使う関数が異なります。特にパラメータ値にはencodeURIComponentを使う場面が多く、違いを確認しながら変換できます。
https://example.com/path?q=a b&r=1 を両方の方式で変換すると差がはっきりします。URL全体向けの方式では https://example.com/path?q=a%20b&r=1 となり、:// や ? & = は構造を表す記号として残ります。一方コンポーネント向けの方式では https%3A%2F%2Fexample.com%2Fpath%3Fq%3Da%20b%26r%3D1 となり、記号がすべて変換されます。リダイレクト先URLをクエリパラメータに埋め込むときに前者を使ってしまうと、埋め込んだURLの & がパラメータの区切りとして解釈され、値が途中で切れます。オープンリダイレクトの調査でよく見る壊れ方です。なお日本語1文字「あ」は %E3%81%82 と3つの%表記になります。UTF-8で3バイトだからで、文字数制限のあるフォームで想定より早く上限に達する原因になります。
作業の流れに近いツールへすぐ移動できます。