2013年10月24日木曜日

Unicodeの正規化について

UnicodeのNFCって何と思って調べました。
NFCといえば近距離無線通信(Near field communication)しか思いつきません。
非接触ICカードもいろいろあるのでUnicodeというカードでもできたかたと思ったら違いました。
ISO/IEC 14443 Type A(MIFARE) タバコ購入用成人認証カードtaspo
ISO/IEC 14443 Type B  住民基本台帳カード、自動車運転免許証、パスポート
FeliCa    PASMO・SuicaなどのICカード乗車券やEdyなどの電子マネー






Unicodeでは同じ文字が異なる表現で表されることがあります。
等価な表現が複数混在したままでは不便であるため、統一するためのしくみが正規化 (Normalization) です。
 合成済み文字 (precomposed character)
 結合文字列 (combining character sequence) 《基底文字 (base character) の後に1以上の結合文字 (combining character) を続けた列》 《例 ё = е + ¨、だ = た + ゛、ぷ = ふ + ゜》
 従来の文字集合との互換性のため、実際的には同等な文字を複数符号化《例 ℃ ≒ °+ C、%≒% 》
※平仮名の「へ」と片仮名の「ヘ」のように、形は似ていても違うものは区別されます。

正規化形式
正規化された結果の形式を、正規化形式 (Normalization Forms) といいます。
Unicode Standard Annex 15, 略して UAX #15) は、4種類の正規化形式を規定しています。
正規化形式 D (Normalization Form D, 略して NFD)
正規化形式 C (Normalization Form C, 略して NFC)
正規化形式 KD (Normalization Form KD, 略して NFKD)
正規化形式 KC (Normalization Form KC, 略して NFKC)
D = Decomposition (分解)
C = Composition (合成)
K = Compatibility (互換性;合成の C と区別するため、K になっている)



Unicode正規化とは
http://homepage1.nifty.com/nomenclator/unicode/normalization.htm

0 件のコメント:

コメントを投稿