URL にエンコードが必要な理由

パーセントエンコードの意味と使いどころ

URL の予約文字

/ はパス、? はクエリ開始、= はキーと値、& はパラメータを区切ります。データに含まれると URL 構造として誤解されます。

パーセントエンコード

特殊文字を % と 2 桁の 16 進コードへ置換します。

salt & pepper → salt%20%26%20pepper

空白は %20&%26=%3D になります。

エンコードが必要な文字

RFC 3986 の非予約文字(英数字と - _ . ~)は安全です。空白、予約文字、é や日本語などの非 ASCII 文字はデータとして使う場合にエンコードします。

encodeURI と encodeURIComponent

  • encodeURI(): URL 構造を保ったまま URL 全体を処理
  • encodeURIComponent(): 単一のパラメータ値を処理し、?&= も変換

Votilo Tools はクエリ値に適した encodeURIComponent を使います。