Punycodeって小さなコード?

米谷嘉朗(JPRS)
2003/10/15

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

 インターネットではUnicodeの符号化方式としてRFC 2279で定義される8bit符号化方式のUTF-8を採用するのが一般的ですが、DNSは7bit符号化方式のASCIIを前提としており、IDNでは下位互換性を保つためにPunycodeが採用されています。

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

  • Unicodeの符号化方式でありUnicodeと韻を踏んでいる
  • Punycodeは3つの意味で「小さく」設計されている
    1. 符号化で使う文字の数が少ない(Unicodeは約10万文字だが、Punycodeで符号化すると37文字で表現できる)
    2. 符号化された結果の文字列が短い
    3. コードが小さい(プログラムのステップ数が少ない)

関連記事 RACEとPunycode【特集:いますぐ使える国際化ドメイン名の理論と実践】

DNS Tips Index

「Master of IP Network総合インデックス」


Master of IP Network フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Master of IP Network 記事ランキング

本日 月間