メインコンテンツにスキップ

Unicode テキスト正規化ツール

4 つの Unicode 正規化形式 (NFC、NFD、NFKC、NFKD) をすべて比較してテキストを貼り付けます — 各形式のコード ポイントと UTF-8 バイト長を確認し、入力がすでに一致している形式を確認してください。文字列/データベース キーの比較を破損する合成-分解バグをキャッチします。

入力

出力

変換前に、入力が既に一致している正規化形式。

比較された正規化形式
形式正規化されたテキストコードポイントUTF-8 バイト入力と同じですか?
No data yet
役に立ちましたか?

ガイド

このツールは何をしますか?

任意のテキストを取得し、4 つの Unicode 正規化形式 — NFCNFDNFKCNFKD のそれぞれの下でどのように見えるかを並べて表示します: 正規化されたテキスト、U+XXXX 記法のコード ポイント、UTF-8 バイト長、およびその形式が元の入力と一致するかどうか。また、貼り付けたテキストがすでに存在する形式 (存在する場合) を教えます。

正規化形式が重要な理由

一部の文字は Unicode で 2 つの異なる方法で表現できます。é のようなアクセント付き文字は、1 つの事前合成コード ポイント (U+00E9) であるか、単純な e (U+0065) の後に合成アキュート アクセント (U+0301) が続きます。どちらもスクリーン上ではまったく同じようにレンダリングされますが、異なるバイト シーケンスです — したがって "café" === "café" は、1 つの文字列がアクセントを合成する形式からのもので、もう 1 つが形式 (macOS の HFS+ ファイル名やいくつかの IME/OCR パイプラインなど) からのもの場合、それらを分解すると、無言で false を返す可能性があります。同じことは互換性文字にも当てはまります: (U+FB01) のような合字は、見た目が f + i のような単一のコード ポイントですが、K 形式 (NFKC/NFKD) のみがそれを 2 文字シーケンスと同等に扱います。

  • NFC (正規合成) — 可能な限り文字を事前合成形式に組み合わせます。Web と大部分のデータベースで最も一般的な形式です。
  • NFD (正規分解) — 事前合成文字を基本文字と合成マークに分割します。
  • NFKC / NFKD — 同じ合成/分解ですが、NFC/NFD が対象外のままにしている「互換性」同等物 (合字、全幅形式、上付き文字) も含めます。書式設定には損失がありますが、検索/照合に役立ちます。

使い方

テキストを貼り付けるか入力してください。ツールは、入力が既に一致している正規化形式をすぐに表示し、その後、4 つの形式すべてを含むテーブル (正規化されたテキスト、コード ポイント、UTF-8 バイト長) を表示して、各変換中にどのような文字が変わるか (および何バイト) を正確に確認できます。

一般的な用途

  • 不一致の合成/分解形式が原因の文字列比較またはルックアップ バグのデバッグ (ファイル名またはユーザー入力をデータベースと比較する場合の典型的な問題)
  • ユーザー送信テキストを保存、ハッシュ、またはインデックス化する前に適用する正規化形式を決定する
  • 検索がスクリーン上で同じに見えるテキストと一致しない理由を理解する
  • アクセント記号または合字が多い文字列が正規化時にサイズを変更するかどうかを確認する (固定長フィールド、ハッシュ、またはバイト長チェックに影響します)

関連ツール

プライバシー

このツールは、組み込みの String.prototype.normalize() API を使用してブラウザーで完全に実行されます。テキストはサーバーにアップロードされることはありません。

nfcnfdnfkcnfkddiacriticsaccented characterscombining markscanonical equivalencecompose decomposestring comparison bug

このツールを使う他の方法

REST API

curl -X POST https://api.iotools.cloud/v1/tool/unicode-text-normalizer \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "inputText": "Café"
  }'

ご自身のアカウントのキーに差し替えてください。ツールのフィールドがそのままリクエストボディになります——ラッパーはありません。

AIエージェントに依頼する

Use the IOTools `unicode-text-normalizer` tool (Unicode Text Normalizer) on this input:

YOUR_INPUT_HERE

IOTools MCPサーバーに接続された任意のエージェントにこれを貼り付け、入力内容を追加してください。

埋め込みウィジェット

<iframe
  src="https://iotools.cloud/embed/unicode-text-normalizer/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Unicode テキスト正規化ツール — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

ご自身のページに貼り付けるだけ——無料、キー不要、リンクを掲載するだけです。

1回あたりの費用5クレジットから

次の方法でも利用可能

ツールが気に入りましたか?広告をなくしましょう。

1回のお支払いでアカウントから広告が完全になくなります。サブスクリプションも追跡もありません。