URLエンコード
URLを変換するよ
使っちゃダメな文字を、使っていい文字の組み合わせに置き換えるよ
簡単に書くよ
URLエンコード(読:ユーアールエルエンコード 英:URL encoding)とは
ホームページの住所(URL)で本当は使っちゃいけない文字を使ったときに、その使っちゃいけない文字を別の表現に置き換えること
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「URL」と「エンコード」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
URLは「ホームページの住所」です。
ホームページの置いてある場所とかファイル名とかを示す情報です。
例えば
http://wa3.i-3-i.info/extension/index.html
というURLが あったとしましょう。
このURLは
「wa3.i-3-i.info」という名前のコンピュータの中にある「extension」という名前のディレクトリの中にある「index.html」という名前のファイル
を意味します。
エンコードは「データを他の形式へ変換すること」です。
以上を踏まえて、本題に入ります。
実はURLには日本語が使えません。
使えるのはアルファベットだけです。
でも、ピヨ太君が「やだやだー、日本語が使いたいー!」と駄々をこねました。
我がまま坊やですね。
仕方がないので「URL」という概念を考えた人は、アルファベットだけで日本語を表現できるようにしました。
例えば、そうですね。
「あ」に対応する文字として「%E3%81%82」が割り当てられています。
同じように「い」には「%E3%81%84」が割り当てられています。
他の文字も同じです。
この状況で、ピヨ太君が
http://example.com/あい/
と入力したとしましょう。
日本語部分の「あい」はURLでは使えない文字です。
これを見つけたコンピュータさんは「あい」を「%E3%81%82%E3%81%84」に直して
http://example.com/%E3%81%82%E3%81%84/
に書き換えてくれます。
書き換えた「%E3%81%82」が「あ」を意味します。
同じように「%E3%81%84」が「い」を意味します。
つまり
http://example.com/あい/
と
http://example.com/%E3%81%82%E3%81%84/
は同じ内容です。
前者のURLには使えない文字、日本語の「あ」と「い」が含まれています。
後者のURLには使えない文字は含まれていません。
すべてアルファベットです。
このような
URLに使ってダメな文字をURLに使っていい文字の組み合わせだけで表現する変換
が「URLエンコード」です。
あと、ついでなので書いておくと、URLエンコードの逆で
URLに使っていい文字の組み合わせから本来の文字に戻す変換
は「URLデコード」と言います。
気が向いたら、セットで覚えてあげてください。
また、URLエンコードとほぼ同じ意味で使われる用語に「パーセントエンコーディング」があります。
パーセントエンコーディングは「URLで使えない文字を%(パーセント)と半角英数字の組み合わせで表現すること」です。
例えば、URLに「あ」という日本語を含めたいときに「%E3%81%82」に置き換えるような変換を指します。
あれ?
URLエンコードの説明で例示した内容と同じですね。
はい、同じです。
「パーセントエンコーディング」と「URLエンコード」は同じ
と解釈する人もいます。
ただし、パーセントエンコーディング以外を指して「URLエンコード」と表現する場合も あります。
その点を考慮すると
「パーセントエンコーディング」は「URLエンコード」に含まれる
と解釈できるでしょう。
ちょっとややこしいですかね。
もう一度まとめると
解釈1:URLエンコード = パーセントエンコーディング
解釈2:URLエンコード = パーセントエンコーディング+α
な解釈ができるということです。
そもそもの話として「パーセントエンコーディング」という表現は、あまり一般的ではありませんけどね。
こだわりのない人は「URLエンコード」という表現を使っておくのが無難だと思います。
一言でまとめるよ
まぁ「URLエンコード」って単語が出てきたら「URL
(ホームページの住所に相当する情報)で使えない文字を別の表現に置き換えるんだな~」と お考えください。
おまけ
■訳してみるよ
「URL」は「Uniform Resource Locator(ユニフォーム・リソース・ロケータ)」の略です。
「uniform(ユニフォーム)」の意味は「同形の」とか「一様な」とか「均一の」とかです。
「resource(リソース)」の意味は「資源」とかです。
「locator(ロケータ)」の意味は「位置を示すための装置」だそうです。
「encode(エンコード)」の意味は「符号化」とか「記号化」とかです。
何となく くっつけると
同形の資源位置を示すための装置を符号化
となります。
■検索してみる?






