[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

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

Punycode表記

pointこの用語のポイント

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

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

スポンサーリンク

簡単に書くよ

Punycode表記とは

アルファベット以外が含まれるドメイン名の表記方法(のひとつ)
であり

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

image piyo

詳しく書くよ

順番に見ていきましょう。

ドメイン名は「IPアドレスに付けた人間様向けの名前」ね。

Punycode表記

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

Punycode表記2

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

Punycode表記3

ところがですね。

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

Punycode表記4

例えば

http://hoge.example.com

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

Punycode表記5

それに対して

http://ほげ.example.com

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

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

Punycode表記6

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

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

人間様が

http://ほげ.example.com

と入力しました。

Punycode表記7

これが内部的に

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

に変換されます。

Punycode表記8

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

Punycode表記9

このような「内部的にアルファベットに変換することでドメイン名に半角英数字以外を使えるようにする仕組み」を「Punycode(ピュニコード)」と言います。

それを踏まえて、アルファベット以外が含まれるドメイン名を全部アルファベットで表現する表記方法が「Punycode表記」です。

http://ほげ.example.com

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

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

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

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

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

Punycode表記10

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

Punycode表記11

イメージは

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


です。

Punycode表記12

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

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

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

確かに

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


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

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

image piyo2

一言でまとめるよ

まぁ「Punycode表記」って単語が出てきたら「アルファベット以外が含まれるドメイン名を全部アルファベットで表現する表記方法なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク