Unicodeエスケープ変換
テキストを \uXXXX、\u{…}、%uXXXX、U+、&#x、0x など複数形式でエスケープ/デコードします。JavaScript・JSON・Python 等で使う表記に対応。ブラウザ内のみで処理し、登録不要です。
フォーマットと使い方
エスケープ時は出力形式を選べます(\uXXXX、ES6 の \u{コードポイント}、レガシー %uXXXX、U+、HTML 実体 &#x…;、0x…)。アンエスケープ時は形式を選ぶか「自動判別」で混在入力も解釈できます。アンエスケープ時は形式に応じて「\u」「\u{」「%u」挿入ボタンが表示されます。入力は最大 10,000 文字です。
使い方
このツールについて
文字列と Unicode エスケープを複数形式で双方向にリアルタイム変換します。\uXXXX、\u{…}(ES6)、%uXXXX、U+、&#x…;、0x… に対応。JavaScript・JSON・Python 等で使う表記をブラウザ内だけで処理します。
使い方
エスケープ時は「出力形式」を、アンエスケープ時は「自動判別」または「入力形式」を選び、入力欄にテキストやエスケープ列を入力・貼り付け。結果は即時表示・コピー可。アンエスケープ時は形式に応じて「\u」「\u{」「%u」挿入ボタンが使えます。
オプション
エスケープ: \uXXXX / \u{…} / %uXXXX / U+ / &#x / 0x から出力形式を選択。アンエスケープ: 形式指定または自動判別(混在可)。Unicode コードポイント表記専用ツール(U+ 中心)は「Unicode エンコード/デコード」を参照。最大 10,000 文字。
ユースケース
• JavaScript / JSON のエスケープ文字列の確認・変換 • ログやエラーメッセージの \uXXXX の解読 • 多言語テキストのエスケープ形式でのやり取り • 正規表現やコードに埋め込む Unicode の準備
コード例
1// \uXXXX(手動)
2"Hello".split('').map(c => '\\u' + c.charCodeAt(0).toString(16).padStart(4,'0')).join('');
3
4// ES6 \u{…}
5"\\u{1f600}"; // 文字列リテラルで 😀
6
7// アンエスケープ
8JSON.parse("\u0048\u0065\u006c\u006c\u006f"); // "Hello"1# アンエスケープ(バックスラッシュ列)
2s = "\\u0048\\u0065\\u006c\\u006c\\u006f"
3s.encode().decode("unicode_escape") # "Hello"
4
5# または codecs
6import codecs
7codecs.decode("\\u3042", "unicode_escape") # "あ"1// JSON 文字列として渡す(引用符で囲む)
2json_decode('"\u0048\u0065\u006c\u006c\u006f"'); // "Hello"
3
4// Laravel: 通常は json_decode / 配列キャスト後の JSON と同じ技術的な仕組み
\uXXXX: BMP 外は UTF-16 サロゲートの 2 連。\u{…}: コードポイント 1 つを可変桁 16 進で表す ES6 形式。%uXXXX: UTF-16 コードユニット単位(旧 escape 系)。U+ / &#x / 0x はコードポイント表記として既存ロジックに準拠。自動判別は左から最長一致でトークンを解釈し、リテラル文字はそのまま出力。
プライバシーとデータの扱い
変換はブラウザ内で完結し、入力・結果をサーバーへ送信しません。
よくある質問
- Q: Unicode エスケープシーケンスとは?
- A: 文字をコードポイントで書く表記です。\uXXXX は 4 桁 16 進(JS/JSON)。\u{…}(ES6)は 1〜6 桁で BMP 外も 1 トークンで表せます。
- Q: エスケープとアンエスケープの違いは?
- A: エスケープは平文を選んだ形式のエスケープ列にします。アンエスケープはその逆で、形式指定か「自動判別」で \u・\u{…}・%u・U+・&#x・0x の混在も解釈できます。
- Q: Python で Unicode エスケープをデコードするには?
- A: バックスラッシュ付きの \uXXXX 列なら str を s.encode().decode("unicode_escape") するか codecs.decode(s, "unicode_escape")。JSON テキストなら json.loads() が \u を解釈します。
- Q: JSON に \uXXXX が含まれるのはなぜ?
- A: ASCII のみのファイルにしたい、ログを安全に残したい、ensure_ascii=True でダンプした、などの理由で \u 表記になります。パース時に Unicode に戻ります。
- Q: \uXXXX と \u{…} の違いは?
- A: \uXXXX は従来型で 4 桁=UTF-16 の 1 ユニット(BMP)。BMP 外はサロゲートの \u 2 個。\u{…} は ES6 でコードポイント全体を 1 個のエスケープで書けます(例: \u{1F600})。
- Q: PHP / Laravel でアンエスケープするには?
- A: JSON の文字列として json_decode('"\u0041"') のように渡すと "A" になります。API の JSON はデコード済み文字列になることが多く、Laravel でも通常は json_decode またはレスポンスの JSON 変換後の値を使います。
- Q: 絵文字や BMP 外には対応しますか?
- A: はい。\uXXXX モードではサロゲート 2 連、\u{…} では 1 エスケープ、%uXXXX は UTF-16 ユニット列として扱います。
- Q: 「Unicode エンコード/デコード」との違いは?
- A: 本ツールはバックスラッシュ系・%u を主に扱い、U+/HTML/0x も選択できます。コードポイント表記中心の作業は sister ツールを参照してください。
- Q: 文字数制限は?
- A: 最大 10,000 文字です。
