URLエンコード 【URL encoding】 パーセントエンコーディング / percent encoding / HTMLエンコード / URIエンコード / URI encoding

概要

URLエンコード(URL encoding)とは、URLファイル名クエリ文字列などの一部としては使用できない記号や文字を、使用できる文字の特殊な組み合わせによって表記する変換規則。「%」と文字コード16進数表記を繋げたものに置き換えるといった変換をう。

URLUniform Resource Locator)はインターネット上での資源(情報サービスなど)の所在情報を書き表すための表記法の標準で、Webページの場所を指し示す際などに利用される。HTTPの場合は「http:」あるいは「https:」に続けて「//WebサーバIPアドレスまたはドメイン名/サーバ内のパス」という形式になる。

URLの表記規則では、いわゆるASCII文字(日本では半角英数字記号文字にほぼ相当)における制御文字や一部の記号(空白文字と " # < > ` { } の8つ)については、ディレクトリ名やファイル名などを指定するパス部分に使うことができず、URLエンコードされた表記に改める必要がある。

表記できない文字は、その文字コード16進数で表したものを「%」(パーセント記号)に続けて表記して置き換える。例えば、半角シャープ「#」は「%23」、半角スペース「 」は「%20」となる。URLパラメータ(「?」以降)では、これに加えて大半の記号文字も変換される。

多バイト文字コードの扱い

日本語などでは文字コードの種類によって同じ文字でもURLエンコードの表記が異なる。例えば、「あ」はShift JISコードで「82A0」(16進数表記)であるため「%82%A0」となるが、UTF-8では「E38182」(同)であるため「%E3%81%82」となる。

また、この変換はバイト単位でなうため、多バイト文字コード2バイト目が半角アルファベットや数字などに相当する場合は、パーセント表記ではなくその文字自体を記す。例えば、「ア」はShift JISで「8341」であるため、「41」の部分がASCIIコードの「A」に相当し、「%83A」と表記される。

application/x-www-form-urlencoded

一方、HTTPPOSTメソッドデータを送信する場合などには、MIMEタイプの「application/x-www-form-urlencoded」で定められた方式で文字を符号化するが、これを指してURLエンコードという場合がある。

「英数字などはそのまま記し、記号や非ASCII文字などは『%』+コード番号で表す」という基本的な考え方は同じだが、パーセント表記に置き換えなくて良い記号が「* - . _」の4つであることや、半角スペースを「%20」ではなく「+」で表す点が異なる。

(2024.3.13更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる