Punycode変換
ドメイン名を変換するよ
アルファベット以外の文字を、対応するアルファベットに変換するよ
簡単に書くよ
Punycode変換(読:ピュニコードヘンカン)とは
アルファベット以外が含まれるドメイン名
(IPアドレスに付けた人間様向けの名前)の話で出てくるかもしれない用語のひとつ
であり
「ほげ.example.com」→「xn--18j4d.example.com」のように(アルファベット以外の文字を対応するアルファベットに変換することで)アルファベット以外が含まれるドメイン名を全部アルファベットに変換すること
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・IPアドレス
・ドメイン名
・Punycode(ピュニコード)
・Punycode表記
について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
IPアドレスは「コンピュータさん向けのネットワーク上の住所」です。
インターネットっぽい通信において、送信先を特定するときとかに使う情報です。
「198.51.100.2」のような形式になっています。
ドメイン名は「IPアドレスに付けた人間様向けの名前」です。
インターネットやメールなどで使われる住所です。
「i-3-i.info」のような形式になっています。
URL(ホームページの住所に相当する情報)においては「http://」や「https://」の後ろの部分がドメイン名です。
「https://i-3-i.info/index.html」であれば「i-3-i.info」の部分ですね。
メールアドレスにおいては「@」の後ろの部分がドメイン名です。
「hoge@example.com」であれば「example.com」の部分ですね。
Punycodeは「ドメイン名にアルファベット以外を使うための仕組み(のひとつ)」です。
ドメイン名は基本的にアルファベットのみで構成されています。
例えば「hoge.example.com」のような形です。
昔は、ドメイン名にはアルファベットしか使えませんでした。
技術の進歩と共に、今ではアルファベット以外も使えるようになっています。
例えば「ほげ.example.com」のような日本語を含むドメイン名も使えます。
ところがですね。
実は、コンピュータさんは、いまだにアルファベットしか分かりません。
日本語とかは「何これ?模様?」なのです。
例えば
http://hoge.example.com
は理解できます。
「『http://hoge.example.com』のホームページが見たいのね?」と理解して、ホームページのファイルをもらってきてくれます。
それに対して
http://ほげ.example.com
は理解できません。
「『http://??.example.com』のホームページが見たいのね?」と解釈します。
「ほげ」の部分が「??」になっていますね。
これでは、ホームページのファイルをもらいに行けません。
この問題を解決するためにコンピュータさんは、人間様の目に見えないところで、ドメイン名のアルファベット以外をアルファベットに変換することにしました。
例えば「ほげ」に対応するアルファベットが「xn--18j4d」だったとしましょう。
人間様が
http://ほげ.example.com
と入力しました。
これが内部的に
http://xn--18j4d.example.com
に変換されます。
変換された後のドメイン名はアルファベットだけで構成されています。
コンピュータさんが理解できます。
このような
内部的にアルファベットに変換することでドメイン名に半角英数字以外を使えるようにする仕組み
がPunycodeです。
Punycode表記は「アルファベット以外が含まれるドメイン名を全部アルファベットで表現する表記方法(のひとつ)」です。
例えば
http://ほげ.example.com
が本来のドメイン名です。
http://xn--18j4d.example.com
がPunycode表記のドメイン名になります。
以上を踏まえて
アルファベット以外が含まれるドメイン名をPunycode表記(全部アルファベット)に変換すること
が「Punycode変換」です。
最近のWebブラウザ(ホームページを見るときに使うソフト)は勝手に変換してくれるので「使う人」は意識する必要ないと思いますけどね。
「作る人」は、場合によっては意識する機会があるはずです。
一言でまとめるよ
まぁ「Punycode変換」って単語が出てきたら「アルファベット以外が含まれるドメイン名
(IPアドレスに付けた人間様向けの名前)をPunycode表記
(アルファベット以外が含まれるドメイン名を全部アルファベットで表現する表記方法)に変換するんだな~」と お考えください。






