コンテンツへスキップ
uencoder

URL Encoding

URLエンコーディング(パーセントエンコーディング)は、URLに使用できない文字を%HH形式に変換する仕組みで、任意のデータを安全にURL構成要素へ含められるようにする。

目的

予約文字(/、?、#、= など)や非ASCII文字がURL構造を壊さないようにしつつ、可逆な往復変換を保つ。

メカニズム

安全でない文字をバイトごとに%と2桁の大文字16進数へ変換する。RFC 3986が予約文字集合を定義しており、HTML5のapplication/x-www-form-urlencoded形式ではさらにスペースを+にエンコードする。現代のブラウザとfetch APIはこれを自動処理する。

ユースケース

  • URLクエリパラメータへの非ASCIIテキストや特殊文字の受け渡し
  • RESTful APIのパスパラメータのエンコーディング
  • OAuthコールバックURLのエンコーディング
  • mailtoリンクの件名と本文

例

  • 入力
    a b&c
    Output
    a%20b%26c

    RFC 3986 form; the form-encoded variant is a+b%26c

よくあるエラー

Encoding the entire URL instead of just the parameter values
Encode parameter values only and keep the /?=& delimiters

関連用語

関連ツール

関連チュートリアル

References