Punycodeとは??

みなさん、Punycodeって知っていますか?

ドメイン関係の仕事をしていると、時折耳にしたこともあるかと思います。

具体的には、

「ブライツ.jp」 → 「xn--eck4c6bzd.jp

「xn--」から始まるものが、Punycodeです。

 

今は少しは少なくなってきましたが、言語違いのメールを受け取ったときに文字化けしたりしましたよね。

国際化ドメインリリースにあたっては、それと似た言語の差をなくす仕組みが必要でした。

 

そこで、英数字以外の言語で入力された文字列を、既存のDNSサーバーでも扱えるようにするため、Punycodeが考案されました。

ドメインが世界共通の資産であると考えると、表示上は文化的・民族的な自由を残しつつ、裏で働くシステムはトラブルなく働くようにシンプルなグローバルルールを敷くというのは利に適っています。

 

国際化ドメインは、Punycodeのルールでエンコードされ英字表記に変換されます。

 

下記リンクに詳細がありますが、一部引用。

http://www.atmarkit.co.jp/ait/articles/1605/31/news021.html

 

Punycodeの先頭は必ず「xn--」となります。

「xn--」は国際化ドメインの予約語となり、先頭が「xn--」の英語表記ドメインは取得することが出来ません。

 

なお、Punycodeは「Puny(小さな)」と「Code」を組み合わせた造語で、Punycodeの考案者が以下の理由で名付けたものです。

 

・Unicodeと同じ音を繰り返すことで韻を踏んでいる

Punycodeは3つの意味で「小さく」設計されている

1.符号化のために使用する文字が少ない(Unicodeで定義される10万文字以上を、Punycodeでは37文字(英字・数字・ハイフン)だけで符号化できる)

2.符号化された結果の文字列が、Base64など他のACE方式に比べて短い

3.符号化のためのコードが小さい(プログラムのステップ数が少ない)

 

Punycodeを検索する場合には、下記リンクが便利です。

http://punycode.jp/

※日本語のみの対象にはなりますので、ご注意ください。

 

わからないことがあったら、ぜひ連絡くださいね!

 

[su_heading size=”19″]本日はここまで! hasta la próxima![/su_heading]