「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

Punycode表記(ピュニコード表記)

pointこの用語のポイント

pointドメイン名の表記方法だよ

pointアルファベット以外の文字を対応するアルファベットに変換したものだよ

スポンサーリンク

簡単に書くよ

Punycode表記(ピュニコード表記)(読:ピュニコードヒョウキ)とは

アルファベット以外が含まれるドメイン名(IPアドレスに付けた人間様向けの名前)の表記方法(のひとつ)
であり

「ほげ.example.com」→「xn--18j4d.example.com」のように、アルファベット以外の文字を対応するアルファベットに変換することで、アルファベット以外が含まれるドメイン名を全部アルファベットで表現する表記方法のこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

IPアドレス
ドメイン名
Punycode(ピュニコード)


について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

IPアドレスは「コンピュータさん向けのネットワーク上の住所」です。
インターネットっぽい通信において、送信先を特定するときとかに使う情報です。
「198.51.100.2」のような形式になっています。

Punycode表記

ドメイン名は「IPアドレスに付けた人間様向けの名前」です。
インターネットやメールなどで使われる住所です。
「i-3-i.info」のような形式になっています。

Punycode表記2

URLホームページの住所に相当する情報)においては「http://」や「https://」の後ろの部分がドメイン名です。
「https://i-3-i.info/index.html」であれば「i-3-i.info」の部分ですね。

Punycode表記3

メールアドレスにおいては「@」の後ろの部分がドメイン名です。
「hoge@example.com」であれば「example.com」の部分ですね。

Punycode表記4

Punycodeは「ドメイン名にアルファベット以外を使うための仕組み(のひとつ)」です。

ドメイン名は基本的にアルファベットのみで構成されています。
例えば「hoge.example.com」のような形です。

Punycode表記5

昔は、ドメイン名にはアルファベットしか使えませんでした。
技術の進歩と共に、今ではアルファベット以外も使えるようになっています。
例えば「ほげ.example.com」のような日本語を含むドメイン名も使えます。

Punycode表記6

ところがですね。

実は、コンピュータさんは、いまだにアルファベットしか分かりません。
日本語とかは「何これ?模様?」なのです。

Punycode表記7

例えば

http://hoge.example.com

は理解できます。
「『http://hoge.example.com』のホームページが見たいのね?」と理解して、ホームページのファイルをもらってきてくれます。

Punycode表記8

それに対して

http://ほげ.example.com

は理解できません。
「『http://??.example.com』のホームページが見たいのね?」と解釈します。

「ほげ」の部分が「??」になっていますね。
これでは、ホームページのファイルをもらいに行けません。

Punycode表記9

この問題を解決するためにコンピュータさんは、人間様の目に見えないところで、ドメイン名のアルファベット以外をアルファベットに変換することにしました。

例えば「ほげ」に対応するアルファベットが「xn--18j4d」だったとしましょう。

人間様が

http://ほげ.example.com

と入力しました。

Punycode表記10

これが内部的に

http://xn--18j4d.example.com

に変換されます。

Punycode表記11

変換された後のドメイン名はアルファベットだけで構成されています。
コンピュータさんが理解できます。

Punycode表記12

このような

内部的にアルファベットに変換することでドメイン名に半角英数字以外を使えるようにする仕組み

がPunycodeです。

以上を踏まえて

アルファベット以外が含まれるドメイン名を全部アルファベットで表現する表記方法

が「Punycode表記」です。

例えば

http://ほげ.example.com

が本来のドメイン名です。

http://xn--18j4d.example.com

がPunycode表記のドメイン名になります。

Punycode表記を使うメリットは、Punycodeに対応していないWebブラウザ(ホームページを見るときに使うソフトでも問題が出ないことです。

昔のWebブラウザはPunycodeに対応していないものも(多分)ありました。
アルファベット以外をアルファベットに、内部的に変換できなかったのです。

Punycode表記13

Punycode表記であれば、Punycodeの仕組みに対応していないWebブラウザでも問題ありません。
「ここから持ってきてね!」と伝えるドメイン名が、すでにPunycodeのルールに従って変換したもの(全部アルファベット表記のもの)だからです。

Punycode表記14

イメージは

「新しい仕組みを作ったよ!アルファベット以外も使えるよ!」
「えっ?君は対応していないの?!」
「仕方ないな~。じゃあ、アルファベットに戻したのを教えてあげるよ!」


です。

Punycode表記15

一方、Punycode表記のデメリットは、直感的な分かりにくさと、本来のドメイン名より長くなることでしょう。

Punycode表記から元のドメイン名を推測するのは、簡単では ありません。
また、Punycode表記にすると、基本的には元のドメイン名より文字数が多くなります。

ドメイン名にアルファベット以外を使う主な理由は、母国語の方が直感的に意味をつかみやすいからです。
そのメリットを手放すことになります。

確かに

http://ほげ.example.com
(Punycode表記:http://xn--18j4d.example.com)


のようにPunycode表記も書いてあげた方が親切ですけどね。

個人的には、Punycode表記に対応していないWebブラウザは切り捨てるか、最初からアルファベットのみのドメイン名にした方が無難だと思っています。


image piyo2

一言でまとめるよ

まぁ「Punycode表記」って単語が出てきたら「アルファベット以外が含まれるドメイン名(IPアドレスに付けた人間様向けの名前)を全部アルファベットで表現する表記方法なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像071
書籍画像007


書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
タヌキとキツネ
マンガでわかるITパスポート