日本語かなとUnicode正規化
Unicode正規化が日本語のひらがなとカタカナ、特に濁点/半濁点の結合マークと半角/全角カタカナの変換にどう影響するかを学びます。
Language-Specific
詳細な説明
日本語かなと正規化
日本語テキストには主に濁点/半濁点と半角/全角形式に関するUnicode正規化のシナリオがあります。
濁点と半濁点
| 文字 | NFC | NFD |
|---|---|---|
| が (が) | U+304C | U+304B + U+3099 |
| だ (だ) | U+3060 | U+305F + U+3099 |
| ぱ (ぱ) | U+3071 | U+306F + U+309A |
半角 vs 全角カタカナ
NFC/NFDは半角形式を保持します。NFKC/NFKDのみが半角を全角に変換します。
const hw = "ガ"; // 半角カ + 半角濁点
hw.normalize("NFC"); // "ガ" (変更なし)
hw.normalize("NFKC"); // "ガ" (全角ガ、合成済み)
なぜ重要か
異なるソース(Web、レガシーDB、CSVエクスポート、OCR)からの日本語テキストは全角と半角形式が混在していることがよくあります。NFKC正規化なしでは、テキスト比較と検索が一致を見逃す可能性があります。
ユースケース
日本語テキスト処理、日本のユーザーに対応する検索エンジン、日本語の商品名を処理するEコマースプラットフォーム、半角カタカナを含むレガシーシステムからの日本語テキストを処理するシステムにとって重要です。OCR出力の正規化にも重要です。