Unicodeと国際化

Unicode正規化見た目の奥にある文字列を確認

元の文字列から4形式を個別に計算し、選んだ結果の差分を確認します。

Unicode正規化ツール

元のテキスト

選択した正規化結果

プレビューは最大4,000文字。コピーとダウンロードには全結果を含みます。

テキストはこのブラウザー内で処理され、送信されません。

入力上限はUTF-16コード単位で10,000個。超過した入力は切り詰めず拒否します。

正規化はブラウザーのUnicode実装を使い、固定バージョンは保証しません。

テキストを入力するか例を選んでください。

同じ文字に見えるのに検索で一致しないときは、保存されたコードポイント列が異なるかもしれません。Unicode正規化では、合成済みのアクセント文字と基底文字+結合記号を並べて確認できます。

ファイル名や入力データをそろえる前に、Unicode正規化でNFCとNFDを比べてください。NFKCとNFKDは全角や上付き文字も変えるため、元の表記を残したまま確認することが大切です。

Unicode正規化を使う理由

表示と保存された並びを分けて判断します。

元の入力から4形式を比較

NFC変換の結果をNFDへ順に渡すのではなく、NFC・NFD・NFKC・NFKDを元の入力からそれぞれ計算します。どの形式とすでに一致するかが分かります。

アクセント付き文字から4つの正規化経路が分かれる図。

互換文字の変化を先に確認

全角英字や合字はNFKC変換で通常の文字に変わることがあります。Unicode正規化は元のテキストを保持し、変更範囲を表示してから置き換えを確認します。

装飾された文字と通常の文字を変更前後で並べた図。

元の表記を保ちながら形式を選ぶ

01

初期値のNFCから4形式を読む

初期表示はNFCですが、4形式を同時に確認します。見た目が同じでもコードポイント列が違う場合は、変更範囲のU+値とUTF-8バイトを見ます。

02

独立した行だけ行モードにする

全文モードは改行を保持します。行モードは空行を含む各行を別件として扱い、出力をLFでつなぎます。元のCRLFを残したいときは全文を選びます。

03

出力前に差分を確認する

プレビューは短縮されてもコピーとダウンロードは全量です。自動確認を切るとCtrl/Cmd+Enterで実行できます。入力への適用は確認画面を通り、一度だけ元に戻せます。

4形式の比較から分かること

各形式の一致状態と長さ

NFC変換・NFD変換に加え、互換形式のNFKC・NFKDも個別に判定します。各結果のコードポイント数とUTF-8バイト数を同じ画面で比較できます。 Unicode正規化チェックとして元の値との一致も確認できます。

複数文字にまたがる差分

合成や分解は1文字対1文字とは限りません。変更を連続した範囲として強調し、元と結果のU+列およびUTF-8の16進表記を並べます。

プレビューと取り消し

結果を入力に適用する前に変更前後を確認します。適用後の取り消しでは元の入力だけでなく、以前の結果と選択状態も復元します。

変換がしないことと入力の上限

互換変換は元に戻せない場合がある
NFKC・NFKDでは幅、合字、上付き文字の違いが失われます。㍿のような互換文字も変わるため、用途を確かめてから適用してください。
濁点やアクセントを削除しない
NFD分解は結合記号を分離するだけで削除しません。大文字小文字の統一、ASCIIへの変換、NFKC_Casefoldも行いません。
似た字や不可視文字を修復しない
見た目が似た別スクリプトの文字やゼロ幅文字を安全な文字へ置き換える機能ではありません。元の値を調べる場合は文字検査ツールを使ってください。
行モードの改行はLF
入力はUTF-16コード単位で10,000個、行モードは500件まで。孤立サロゲートと大きすぎる結果を拒否し、CSV・JSON・ファイルは解析しません。

Unicode正規化のよくある質問

NFCとNFDの違いは何ですか?

NFCは可能な箇所を合成し、NFDは正準分解します。同じ表示でもコードポイント列が変わる場合があり、両方の出力を元のテキストと比較できます。

NFKCやNFKDは何が違うのですか?

NFKCとNFKDは正準分解に加え互換対応も使います。全角、合字、上付き文字などの違いを失う場合があるため、元の表記が重要なら注意してください。

検索の不一致対策にはどの形式を使えばよいですか?

検索先がNFCを期待するならNFCを選びます。保存先の仕様が分解形を求めるならNFDです。相手の仕様が不明なら互換形式を安易に適用せず、まず差分を確認します。

コードポイント数と文字数(length)は違いますか?

JavaScriptのlengthはUTF-16コード単位を数え、コードポイント数とは異なります。絵文字は1コードポイントでも2単位になることがあり、このページは両者を混同しません。

㍿がNFKCで『株式会社』になるのは正しい動作ですか?

はい。㍿は互換文字なのでNFKCで株式会社に変わります。仕様どおりですが、元の表記を復元できない場合があります。置き換える前のプレビューで確認してください。

予想外の変化がありましたか?

Unicode正規化で気になる文字を確認

比較に失敗した短い文字列から始め、4形式の差を見て必要な結果だけ使ってください。