コンテンツにスキップ

Unicode正規化

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。Emk (会話 | 投稿記録) による 2007年11月20日 (火) 18:28個人設定で未設定ならUTC)時点の版 (en:Unicode normalization 2007年8月5日 (日) 06:37 (UTC)の版より翻訳)であり、現在の版とは大きく異なる場合があります。

(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

Unicode正規化 (英語: Unicode normalization) とは、等価な文字や文字の並びを統一的な内部表現に変換することでテキストの比較を容易にする、テキスト正規化処理の一種である。正規化はテキストの文字列を検索や整列のために比較 (照合、英語: collation) するときに重要である。

合成と分解

Unicodeの正規化手段の基礎は、文字の合成と分解という概念である。文字の合成とは、文字 n と合成用の ~ 文字を単独の ñ 文字に変換するなどの、結合用のより単純な文字をより文字数の少ない合成済み文字にする手続きである。分解はその逆で、合成済みの文字を分割してその構成要素に戻す。

Unicodeは等価性と呼ばれるものに基づいて結合文字を合成し、互換文字を分解する。Unicodeはこの等価性の幅の変化に応じて、2種類の標準を持っている。1つは正規 (英語: canonical) と呼ばれ、機能的に等しく視覚的にも識別不可能であるべき文字を識別する。もう1つは互換文字と呼ばれ、視覚的に異なり意味的にも異なるかもしれないものを識別する。詳細はUnicodeの等価性Unicode互換文字の記事を参照。

標準

Unicodeは正規化に関して4種類の標準を定義している。

NFD
Normalization Form Canonical Decomposition
文字は正規等価性によって分解される。
NFC
Normalization Form Canonical Composition
文字は正規等価性によって分解され、再度合成される。結果として文字の並びが変換前と変わることもありうる。
NFKD
Normalization Form Compatibility Decomposition
文字は互換等価性によって分解される。
NFKC
Normalization Form Compatibility Composition
文字は互換等価性によって分解され、正規等価性によって再度合成される。

上記の手法はすべて、文字の並びが正規化前にすでに分解されている場合も含め、分解された文字の出現順序を標準化する。これらは文字数が変化しなくても、文字や文字の並びを等価な文字やその並びに置き換えることがある。これらは正規化に要求されている符号化の一貫性を達成するために行われる。

関連項目

外部リンク