みなさん、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を検索する場合には、下記リンクが便利です。
※日本語のみの対象にはなりますので、ご注意ください。
わからないことがあったら、ぜひ連絡くださいね!
[su_heading size=”19″]本日はここまで! hasta la próxima![/su_heading]