Unicode正規化解説:NFC、NFD、NFKC、NFKD
4 分で読了
同じテキストに複数のUnicode表現が存在します。正規化はテキストを標準形式に変換し、信頼性のある比較を可能にします。
4つの形式
| 形式 | 名称 | 用途 |
|---|---|---|
| NFC | 合成済み | 最も一般的 — Web・保存に推奨 |
| NFD | 分解済み | macOSファイルシステムで使用 |
| NFKC | 互換合成 | 検索とマッチング |
| NFKD | 互換分解 | アクセント除去 |
なぜ重要か
「café」はNFCでは4文字(éが1つのコードポイント)、NFDでは5文字(e + 結合アクセント)にエンコードされます。正規化なしでは文字列比較が失敗します。
アクセントを除去
「アクセント/ダイアクリティカルマークを除去」オプションを使ってプレーンテキストコンバーターでテキストを正規化できます。