支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • 知っておくと便利?URLエンコードと

検索エンジンを利用時にURLを入力してWebページへ遷移することがあると思いますが、その検索時に「%」を含むすることがありませんか。今回はその「%」を含む要因である「URLエンコード」について解説していきます。

URLエンコードについて

URLエンコードは「URL/URI※のファイル名、クエリ文字列※といった一部使用できない記号、文字を使用できる文字によって構成される特殊な組み合わせで表記する変換規則」のことを指します。これによって、表記できない文字の文字コードを16進数で表して「%」(パーセント記号)に続けて表記することで特定の文字を置き換えることができます。なお、「%」をつけることからURLエンコードは「パーセントエンコード」とも呼ばれます。これらの文字コードを符号化して変換することを「エンコード※」といい、符号化された文字を文字に変換することを「デコード※」といいます。

では、なぜこのような変換規則を必要としたのでしょうか。実は制御文字として使用されるASCII文字(半角英数字、記号文字など)と一部記号(スペース、ダブルコロンなど)にはパスとして使えないという表記規則による制約があります。また、Webアプリケーションなどでの文字表記は、コンピューターが認識できるようにこれら文字列を「エンコード」して記述されているので、ユーザーの視覚情報として理解できるよう、元の文字列へ「デコード」する必要があります。つまりコンピューター上で表示されている文字列は「文字」に復元されることで初めて私たちが認識している形になります。

※情報、サービス、機器といった資源(リソース)を一意的に識別するためのデータの書式を定義した標準。一般的にはインターネット上のデータやサービス、機器といった所在情報を表すために用いられ、所在情報だけでなく対象の識別情報を記述することができる。

※別名「URLパラメーター」。Webブラウザ等、Webサーバに送信するデータの送信先を指定するURL末尾に付けられる特定の形式での表記。主にURLの末尾に「?(クエスチョン)」を付けて、「名前=値」の形式で内容を記述する。例は値が複数あるときは「&」(アンパサンド)で区切る。

※情報を一定の規則に従ってデータに置き換えて記録。またはある形式のデータを一定の規則に基づいて別の形式のデータに変換すること。

※一定の規則や方式に基づいて符号の集まりに変換されたデータを、符号化時とは逆方向に変換し、元のデータに復元すること。

URLエンコードの符号化とその表記について

URLエンコードは、それぞれの文字に対応した符号が存在し、規則性があります。その中でも記号や日本語のようなマルチバイト文字以外に制御文字自体をURLエンコードによって表現することができます。コードとしては00〜1f、7fの文字が制御文字に相当し、これらに「%」を付与することで、デコード処理を行った際に制御文字として扱われ、処理されます。

URLエンコードによって変換される文字コード

URLエンコードによって変換される主要な文字コードには以下があります。

1.JISコード

インターネットや電子メールを日本語を表記する際、最も標準的に使用されている文字コードがJISコードです。日本工業規格(JIS)により定められた7ビット単位の符号化方式で、通常の文字列では表現することのできない特殊な文字、機能(制御文字)をエスケープシーケンスという特殊な文字の並びにより表現されます。

URLエンコードによってひらがなの「あ」を変換すると以下のようになります。

あ→%1B%24B%24%22%1B%28B

ア→%1B%24B%25%22%1B%28B(ひらがな比較)

2.Shift-JISコード

Microsoft社により定められた文字コードで、WindowsやMS-DOS、Macで使用されています。エスケープシーケンスは使用されておらず、半角文字も全角文字も一律2バイト(16ビット)で扱うので、表示された文字数とバイト数が一致するという特徴があります。また文字の前半の8ビットで半角文字か全角文字を区別することが可能です。

URLエンコードによってひらがなの「あ」を変換すると以下のようになります。

あ→%82%A0

ア→%83A(ひらがな比較)

3.ASCIIコード

アメリカ規格協会(ANSI)が制定した文字コードで、現在は国際標準化機構(ISO)により国際標準となっています。1文字を7ビットで表現し、誤り検出用に1ビットを付加した8ビットで構成されています。ラテンアルファベット、数字、記号、空白文字、制御文字などの128文字を表現することができます。

URLエンコードによってひらがなの「あ」を変換すると以下のようになります。

あ→%E3%81%82

ア→%E3%82%A2(ひらがな比較)

4.Unicode

Unicodeはコンピュータに適していない文字コードを使用による文字化けを解消することを目的とした文字コードです。文字を4バイトで表現し、アルファベット、漢字、カナ、アラビア文字など世界中の文字を表現することを目的にしています。UnicodeはISOで規格化され、JavaやXMLは基本コードとしてUnicodeを採用されています。

URLエンコードによってひらがなの「あ」を変換すると以下のようになります。

あ→%u3042

ア→%u30A2(ひらがな比較)

まとめ

・URLエンコードは「URL/URI※のファイル名、クエリ文字列※といった一部使用できない記号、文字を使用できる文字によって構成される特殊な組み合わせで表記する変換規則」のことを指す。

・「%」をつけることからURLエンコードは「パーセントエンコード」とも呼ばれる。