Unicode正規化解説:NFC、NFD、NFKC、NFKD

4 分で読了

同じテキストに複数のUnicode表現が存在します。正規化はテキストを標準形式に変換し、信頼性のある比較を可能にします。

4つの形式

形式名称用途
NFC合成済み最も一般的 — Web・保存に推奨
NFD分解済みmacOSファイルシステムで使用
NFKC互換合成検索とマッチング
NFKD互換分解アクセント除去

なぜ重要か

「café」はNFCでは4文字(éが1つのコードポイント)、NFDでは5文字(e + 結合アクセント)にエンコードされます。正規化なしでは文字列比較が失敗します。

アクセントを除去

「アクセント/ダイアクリティカルマークを除去」オプションを使ってプレーンテキストコンバーターでテキストを正規化できます。