01 / 例
例
名前 Café名前 Caféテキストとコード / MULTIVERTO
NFC は、カノニカル分解に続いて再構成を行い、共通の構成形式を生成します。ブラウザでローカルに変換します。
01 / 例
名前 Café名前 Café02 / ガイド
NFC は正準分解の後に再合成し、一般的な合成済みの形を作ります。変換はブラウザー内で行われます。例の入力「名前 Café」は「名前 Café」になります。見た目の同じ語でも結合アクセントが合成済みの文字に戻る場合があります。保存や比較の規則が合成済みの正準形を求めるときに使ってください。ファイル名やデータベースのキーでは正準的に等しい綴りを揃えられますが、元の入力が必要なら別に保存します。
Unicode 正規化には四つの形式があります。NFC と NFD は正準形式で、定義に応じて合成または分解しながら正準等価性を保ちます。NFKC と NFKD は互換性に基づく対応付けも適用し、全角ラテン文字や丸付き数字を通常の形に変えることがあります。この変換で、用途によって重要な違いが失われ得ます。C は再合成、D は分解を意味します。正規化後の結果は見た目が同じでも、コードポイント列は変わる場合があります。正規化は一部の厳密一致の比較や検索索引に有用ですが、システム全体で同じ形式を使う必要があります。万能なセキュリティーフィルターでも、言語間の翻字器でもありません。NFC は正準分解の後に再合成し、一般的な合成形にします。合成済みと分解形の両方の綴りが分かるアクセント付き文字列で NFC を試してください。
出力のコードポイント数が少なくても、見た目は同じことがあります。差を確かめるにはコードポイントの一覧やUTF-8バイトを調べます。NFCを結果に再適用しても結果は変わらないはずです。データベースの索引で正規化が役立つのは、入力、保存値、検索条件が同じ規則に従う場合だけです。監査や署名で利用者が入力した表記を厳密に残す必要があるなら、変更前の原文を保存してください。NFCは識別子の文脈に応じた検証に代わるものではありません。
正規化は翻訳ではなく、見た目が紛らわしい文字をすべて統一する処理でもありません。NFC は正準分解と再合成を行うため、基底文字と結合アクセントが対応する合成済み文字になる場合があります。たとえば検索キーと保存値の比較規則で NFC を採用するなら、入力と比較対象の両方へ同じ形式を適用してください。画面で同じ語に見えても内部のコードポイントや UTF-8 バイトが違うことがあるので、必要なら別のツールで確認します。元の表記を厳密に保存すべき資料では、正規化前の値も別に残してください。
ガイドを探す