Unicode デコーダー

Unicode エスケープとテキストを相互変換。\uXXXX、\UXXXXXXXX、&#XXXX; エンティティ、コードポイント検索に対応。すべてブラウザ内で処理。

エンコード & デコード 文字情報 クライアント側処理
結果がここに表示されます...

Unicode デコーダーの使い方

1

モードを選択

デコード(エスケープ → テキスト)またはエンコード(テキスト → エスケープ)モードを選択してください。

2

入力

モードに応じて Unicode エスケープまたはプレーンテキストを貼り付けてください。

3

変換

変換をクリックして、結果と文字の詳細を確認してください。

Unicode エンコードとは

Unicode エンコードにより、あらゆる言語や記号システムの文字を異なる形式で表現できます。一般的なエンコード形式には \uXXXX(JavaScript/JSON)、&#NNNNN;(HTML エンティティ)、U+XXXX(Unicode コードポイント)があります。これらのエンコードにより、テキストが異なるシステム間で安全に転送・表示されることが保証されます。

エンコード形式

JavaScript(\uXXXX)

JSON や JavaScript 文字列で使用

HTML エンティティ(&#XXXX;)

HTML で特殊文字を表現するために使用

CSS エスケープ(\XXXXXX)

CSS の content や識別子で使用

文字化けを修復(Mojibake Repair)

文字化け(mojibake)は、ある文字コードのバイト列を別の文字コードで解釈したときに発生します。最も多いのは UTF-8 のバイトを Windows-1252 や Latin-1 として読むケースで、「café」が「café」になります。上の「文字化けを修復」モードに切り替えて壊れたテキストを貼り付けてください。各文字を生のバイトとして扱い、UTF-8 として再デコードして元の文字を復元します。

よくある文字化けの例

文字化け 修復後 原因
café café UTF-8 → Latin-1
å¼ ä¸‰ 张三 UTF-8 → Latin-1
“hi†“hi” UTF-8 → double-encoded
ü ö ñ ü ö ñ UTF-8 → Windows-1252
�� � � バイト喪失済み(U+FFFD)

アプリで文字化けを防ぐには、常にエンコーディングを明示してください:HTML では <meta charset="UTF-8">、HTTP ヘッダーでは Content-Type: text/html; charset=utf-8、データベースや接続でも UTF-8 を統一します。

UTF-8・UTF-16・UTF-32 の比較

UTF-8 UTF-16 UTF-32
符号化単位 8 bit 16 bit 32 bit
A (U+0041) 41 00 41 00 00 00 41
é (U+00E9) C3 A9 00 E9 00 00 00 E9
中 (U+4E2D) E4 B8 AD 4E 2D 00 00 4E 2D
🎉 (U+1F389) F0 9F 8E 89 D8 3C DF 89 00 01 F3 89
適した用途 Web・JSON・API:ASCII 互換でコンパクト Java・JavaScript・C# のメモリ内テキスト コードポイント直接アクセス、まれ

よく使う Unicode コードポイント

よく調べられる文字のクイックリファレンス:句読記号、通貨記号、アクセント付き文字、数学記号と U+XXXX コード。

句読記号・記号

“U+201C ”U+201D ‘U+2018 ’U+2019
–U+2013 —U+2014 …U+2026  U+A0
©U+A9 ®U+AE ™U+2122 °U+B0

通貨記号

€U+20AC £U+A3 ¥U+A5 ₹U+20B9
¢U+A2 ₽U+20BD ₩U+20A9 ฿U+E3F

アクセント付き文字

éU+E9 èU+E8 êU+EA üU+FC
öU+F6 ñU+F1 åU+E5 øU+F8
çU+E7 ßU+DF ąU+105 žU+17E

数学・矢印

±U+B1 ×U+D7 ÷U+F7 ≈U+2248
≠U+2260 ≤U+2264 ≥U+2265 →U+2192
∞U+221E ∑U+2211 √U+221A µU+B5

よくある質問

どの Unicode エスケープ形式に対応していますか?

\uXXXX(BMP)、\UXXXXXXXX(全 Unicode)、&#DDDD;(10進数 HTML エンティティ)、&#xHHHH;(16進数 HTML エンティティ)、U+XXXX(コードポイント表記)のデコードに対応しています。

UTF-8 エンコードはどのように機能しますか?

UTF-8 は各 Unicode コードポイントを1〜4バイトでエンコードします。ASCII 文字(U+0000〜U+007F)は1バイト、ラテン文字や一般的な文字は2バイト、ほとんどの CJK 文字は3バイト、絵文字や希少文字は4バイトを使用します。

\u と \U の違いは何ですか?

\uXXXX は4桁の16進数で基本多言語面(U+0000〜U+FFFF)の文字を表現できます。\UXXXXXXXX は8桁の16進数で BMP を超えるすべての Unicode 文字を表現できます。

テキストに「é」や「�」のような文字が出るのはなぜですか?直し方は?

それは mojibake(文字化け)の兆候です:UTF-8 のバイトが Windows-1252/Latin-1 としてデコードされました。「é」は「é」の UTF-8 2 バイト(0xC3 0xA9)が別々の文字として表示されたものです。「文字化けを修復」モードで修復できます。「�」は U+FFFD 置換文字で、バイトが既に失われているため復元できません。

UTF-8 と UTF-16 の違いは何ですか?

UTF-8 は文字を 1〜4 バイトで符号化し ASCII と完全互換のため、Web・JSON・API の標準です。UTF-16 は 2 または 4 バイト(U+FFFF 超はサロゲートペア)で、JavaScript・Java・Windows の内部表現に使われます。Web のテキストでは UTF-8 の方が小さく安全です。

コードポイントとコード単位の違いは何ですか?

コードポイントは Unicode 規格で文字に割り当てられた番号(é なら U+00E9)であり、コード単位はエンコーディングが使用する格納単位です。UTF-8 のコード単位は 8 ビットのバイトで、U+00E9 は 2 つを必要とします。一方、UTF-16 のコード単位は 16 ビットで、U+FFFF を超える文字は 2 つのコード単位(サロゲートペア)を必要とします。JavaScript の文字列は UTF-16 なので、'hello'.length は 5 ですが、絵文字の .length は 2 になります。

Unicode 正規化形式とは何ですか?また、いつ重要になりますか?

同じ見た目の文字でも、複数のバイト列が存在する場合があります。é は 1 つの合成済み文字(NFC)でも、e に結合アクセントを付けた形(NFD)でも表現できます。NFC は合成し、NFD は分解します。NFKC/NFKD はさらに互換文字(全角形、合字)を分解します。正規化せずにユーザー入力を比較したりハッシュ化したりすると、アカウントの重複や検索の失敗という典型的な問題が起こります(fi 合字と f+i がその例です)。

BOM とは何ですか?なぜファイルが壊れるのですか?

バイトオーダーマーク(BOM)は、エンコーディングを示すためにストリームの先頭に配置された U+FEFF の符号表現(UTF-8 では EF BB BF)です。エディターでは通常非表示になりますが、その後の処理では目に見えない先頭文字として振る舞います。CSV ではヘッダーの最初のキーに見えない文字が混ざり、JSON は余計なトークンのせいでパースに失敗し、PHP のセッションではヘッダーの前に BOM が出力されてしまいます。UTF-8 にはバイト順の曖昧さがないため BOM は不要です。BOM を付けずに保存してください。

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}