URLエンコードとは

URLとして使えない文字を別の形式に変換すること

URLエンコード(URL encode)とは、URLとして使用できない文字(日本語等)を、 別の形式に変換することです。

まずは「URL」と「エンコード」についてそれぞれ簡単に説明します。

URL

URLとは、インターネット上のWebページの場所を示す表記方法のことで、 例えば「https://www.yahoo.co.jp/」はヤフージャパンのURLで、 ブラウザのアドレス欄にこのURLを入力すると、 ヤフージャパンのサイトが表示されます。

但しURLで使用できる文字には制限があり、 日本語等は使用できません。
そこで、URLとして使用できない文字を変換する必要があります。

エンコード

エンコード(encode)とは、 データを別の形式に変換することです。 encodeには「コード化する、符号化する、暗号化する」といった意味があり、 人間がわかる形式のデータを、 コンピュータがわかる形式のデータに変換することです。 逆に、別の形式に変換されたデータを元に戻すことをデコードといいます。

エンコード・デコード

URLエンコードの例

URLエンコードの具体例を見ていきます。

wikipdiaで何かを調べたい場合、URLは 「https://ja.wikipedia.org/wiki/〇〇」の〇〇の部分に 調べたいワードが入ります。ですがURLには日本語は使えません。

「塩」について調べたい場合は
「https://ja.wikipedia.org/wiki/
ではなく、URLエンコード(変換)して
「https://ja.wikipedia.org/wiki/%E5%A1%A9」となります。

砂糖の場合は
「https://ja.wikipedia.org/wiki/砂糖
ではなく、
「https://ja.wikipedia.org/wiki/%E7%A0%82%E7%B3%96」 となります。

パーセントエンコーディング

「塩」は「%E5%A1%A9」に変換され、 「砂糖」は「%E7%A0%82%E7%B3%96」に変換されます。

%xx」というパーセント記号の付いた形式に変換されることから、 URLエンコードのことを 「パーセントエンコーディング」ともいいます。

URLエンコーディングのもう一つの意味

ほとんどの場合「URLエンコーディング」は 「パーセントエンコーディング」のことを指すのですが、 URLエンコーディングにはもう一つの意味もあるので紹介しておきます。

HTTPのPOSTメソッドを使ってフォームの文字列を送信する場合、 文字列を変換(符号化)して送信します。
この時に、MIMEタイプ「application/x-www-form-urlencoded」 で定められている方法で変換します。 この変換(符号化)のことを「URLエンコード」ということもあります。

URLエンコード 2種類

ITエンジニアなら2つの意味を押さえておきたいところですが、 一般の方なら「パーセントエンコーディング」の方をおさえておけば十分です。