Unicode

プロトコル & 標準
世界のほとんどの書記体系でテキストを一貫してエンコードおよび処理するためのコンピューティング標準。
← 用語集に戻る

Unicodeとは

Unicodeは、世界の大半の文字体系でテキストを一貫してエンコード、表現、処理するための汎用コンピューティング標準です。ドメイン業界では、中国語、アラビア語、キリル文字などの非ラテン文字を含む国際化ドメイン名(IDN)を可能にします。すべての言語の各文字に固有のコードポイントを割り当て、システム間で同じ表現を保証します。

ドメイン名におけるUnicode

IDNの対応

Unicodeにより次のようなドメインを使えます。

Punycodeへの変換

DNSはASCIIを使うため、UnicodeドメインはPunycodeに変換されます。

Unicode: münchen.de

Punycode: xn--mnchen-3ya.de

Unicode: 北京.中国

Punycode: xn--1lq90i.xn--fiqs8s

Unicodeコードポイント

構造

Format: U+XXXX (hexadecimal)

Examples:

A = U+0041 (Latin A)

а = U+0430 (Cyrillic a)

中 = U+4E2D (Chinese character)

文字ブロック

ブロック範囲文字体系
Basic LatinU+0000-007FEnglish/ASCII
CyrillicU+0400-04FFRussian, etc.
ArabicU+0600-06FFArabic
CJKU+4E00-9FFFChinese/Japanese/Korean
各ブロックは、文字の範囲と、そこで使われる主な文字体系を示します。

セキュリティ上の懸念

ホモグリフ攻撃

異なる文字体系の似た文字を使います。

Latin 'a' (U+0061) vs Cyrillic 'а' (U+0430)

Latin 'o' (U+006F) vs Cyrillic 'о' (U+043E)

Attack: аpple.com (Cyrillic 'а') looks like apple.com

ブラウザーの保護

不審な文字体系混在ドメインでは、ブラウザーがPunycodeを表示する場合があります。

Unicodeの正規化

同じ文字を表す方法が異なる場合があります。

é = U+00E9 (precomposed)

é = U+0065 + U+0301 (decomposed: e + combining accent)

Normalization forms: NFC, NFD, NFKC, NFKD

Unicodeは世界のインターネットへのアクセスを支える基盤です。世界中の利用者が母語の文字体系と自然な言語でドメインを登録し、アクセスできるようにします。

この知識を実践する

DomScan の API を使用してドメインの可用性、状態などを確認します。