Unicode の正規化には4つの方法がある。
- NFD
- NFC
- NFKD
- NFKC
Unicode の正規化には「正準等価 (Canonical Equivalence)」と「互換等価 (Compatibility Equivalence)」の2種類が規定されている。
正準等価 (Canonical Equivalence)
見た目と機能が同じであれば等価。
- 「で (U+3067)」
- 「て (U+3066)」+「濁点 (U+3099)」
上記は正準等価である。
互換等価 (Compatibility Equivalence)
- 「1 (U+FF11)」
- 「① (U+2460)」
上記は互換等価である。しかし、見た目が異なるので正準等価ではない。
IDN
国際化ドメイン名のこと。「日本語.jp」みたいなやつ。
IDNA 2003 / IDNA 2008
IDS には IDNA 2003 と IDNA 2008 という互換性のない2つの規格がある。
CURL は IDNA 2003 を採用しているので変換がうまくいかない文字がある。