テキストとコード / MULTIVERTO

Unicode を NFD に正規化

NFD は正準分解を行い、定義されている場合は合成済みの文字を基底文字と結合記号に分けます。ブラウザ内で変換します。

変換ツール入力内容はこのブラウザ内にとどまり、変換のために送信されません。

ファイルはブラウザー内にとどまります。
ツールを連結

前の結果に各テキストツールを適用します。 テキスト変換ワークフロー ↗

このブラウザーには手順の名前とツールの順序だけを保存します。入力内容と結果は保存しません。

01 / 例

例

入力名前 Café
結果名前 Café

02 / ガイド

Unicode を NFD に正規化 — 仕組み

具体的な変換例

NFD は正準分解を行い、対応する合成済み文字を基底文字と結合記号に分けます。この変換は手元のブラウザーで実行されます。例の「名前 Café」は「名前 Café」になり、見た目が似ていてもコードポイントの並びは異なります。アクセントを調べる際に基底文字と記号を別々に確認できます。カーソルの移動や文字列長を扱う前に、表示された一文字とコードポイントの数が同じとは限らないことを理解してください。

表現形式の仕組み

Unicode 正規化には四つの形式があります。NFC と NFD は正準形式で、定義に応じて合成または分解しながら正準等価性を保ちます。NFKC と NFKD は互換性に基づく対応付けも適用し、全角ラテン文字や丸付き数字を通常の形に変えることがあります。この変換で、用途によって重要な違いが失われ得ます。C は再合成、D は分解を意味します。正規化後の結果は見た目が同じでも、コードポイント列は変わる場合があります。正規化は一部の厳密一致の比較や検索索引に有用ですが、システム全体で同じ形式を使う必要があります。万能なセキュリティーフィルターでも、言語間の翻字器でもありません。NFD は正準分解を行い、定義されている場合は合成済みの文字を基底文字と結合記号に分けます。短い合成済みの例に NFD を適用し、フォントの表示だけで判断せずコードポイントを確認してください。

この分解は正準分解であり、NFDを同じ結果にもう一度適用しても文字列はさらに変化しません。出力のコードポイント数は、人が認識する文字数とは一致しないことがあります。基底文字と結合アクセントが一つの書記素を形成できるためです。検索を成立させる目的だけで結合記号を削除しないでください。それは名前や言語によって影響が異なる、別の情報損失を伴う方針です。その判断はこのコンバーターの外で行ってください。

限界と信頼性

正規化は翻訳ではなく、文字の見た目をすべて揃える処理でもありません。NFD を使うと、正準分解の対象となるアクセント付き文字は基底文字と一つ以上の結合記号になります。表示はほとんど変わらなくても、文字列の長さや UTF-8 バイト列は変わり得ます。この違いはカーソル位置やバイト単位の比較を調べる際に役立ちます。NFD はアクセントを削除しません。結合記号を取り除くのは別の、元に戻せない処理です。NFD は互換文字の区別も保ちます。受け取り側のデータベースが NFC を求めるなら、画面上の見た目が同じでも NFD の結果をそのまま保存しないでください。

入力から出力への変換過程
Unicode テキスト
Unicode正規化 (NFD)
NFD · 正規化Unicodeテキスト

ガイドを探す

変換ガイド

ガイドを探す