「Punycode」とは何ですか?DNS Tips

国際化ドメイン名を利用する際に目にする「Punycode」の意味を説明する。

» 2016年05月31日 05時00分 公開
[@IT]

 Punycode(“ピュニコード”と発音)はRFC 3492で定義されるUnicodeの符号化方式で、国際化ドメイン名(IDN:Internationalized Domain Name)を従来のASCIIドメイン名と互換性のある表現形式へ符号化(ACE:ASCII Compatible Encoding)するために考案された規格である。

 インターネットでは、Unicodeの符号化方式としてRFC 3629で定義される8ビット符号化方式のUTF-8を採用するのが一般的だが、元来ホスト名には7ビット符号化方式のUS-ASCIIを使用することを前提としていたため、IDNでは下位互換性を保つためにPunycodeを採用している。

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

  • Unicodeと同じ音を繰り返すことで韻を踏んでいる
  • Punycodeは3つの意味で「小さく」設計されている
    1. 符号化のために使用する文字が少ない(Unicodeで定義される10万文字以上を、Punycodeでは37文字(英字・数字・ハイフン)だけで符号化できる)
    2. 符号化された結果の文字列が、Base64など他のACE方式に比べて短い
    3. 符号化のためのコードが小さい(プログラムのステップ数が少ない)

神戸 直樹(かんべなおき)

所属:株式会社日本レジストリサービス(JPRS) システム部

2004年にJPRS入社。レジストリシステムの開発・保守から、レジストリデータベース、WHOISシステムの管理運用まで幅広い業務にたずさわる。現在は、WHOIS代替プロトコルのプロトタイプ開発、WHOISにおける国際化登録データの要件定義および、データのモデル化の検討などに従事。2009年から2013年にかけてDNSソフトウェアである「BIND 10(現Bundy)」の開発プロジェクトに開発者として参加。

著書・執筆:2009年〜2010年「月刊ASCII.technologies」(アスキーメディアワークス)の連載記事「正しく学ぶDNS」の一部執筆を担当。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。