Unicodeエスケープ変換ツールとは?

Unicode Escape Converterはエスケープシーケンス(例:\u0041)を読み取り可能な文字に変換し、逆変換も行います。JavaScript \uXXXX、HTMLエンティティ、Python表記、URLパーセントエンコーディングに対応し、i18n文字列のデバッグ、APIレスポンスのデコード、コード用テキストの準備に使えます。

コンバーターは6種類のエスケープ形式に対応します。JavaScript 形式の \uXXXX は基本多言語面をカバーし、絵文字や使用頻度の低い CJK 文字はサロゲートペアで表現します。JavaScript ES6 の \u{X} は任意のコードポイントを一つのシーケンスで書けるため、モダンなソースではサロゲートペアが不要になります。HTML 数値文字参照 &#xHHHH; は HTML マークアップやメールにそのまま記述できます。CSS 形式 \HHHH はスタイルシートの content プロパティに記述します。Python は基本面に \uXXXX、それより上に \UXXXXXXXX を使うため、出力はそのまま Python の文字列リテラルに貼り付けられます。URL パーセントエンコーディング %XX は UTF-8 の各バイトをエスケープし、クエリ文字列やパスセグメントに向きます。16進数の大文字と小文字をスイッチで切替でき、非 ASCII のみエスケープモードでは印字可能な ASCII を残すので、JSON や i18n ファイルが読みやすいまま保てます。マッピングパネルが各グリフのコードポイント、公式 Unicode 名、生の UTF-8 バイト、ブロック、カテゴリを並べ、カードをクリックすればその文字のエスケープだけをコピーできます。

使い方

  1. ステップ1 — Unicodeエスケープシーケンス(例:\u0048\u0065\u006C\u006C\u006F)を入力エリアに貼り付けて、読める文字にデコードします。
  2. ステップ2 — または平文テキスト(例:Hello)を入力して、選択した形式のUnicodeエスケープシーケンスにエンコードします。
  3. ステップ3 — エスケープ形式(JavaScript \uXXXX、HTML &#xHHHH;、CSS \HHHH、Python \U、URL %XX)を選択し、結果をコピーします。マッピングパネルが各文字の名前を示し、UTF-8 バイト、ブロック、カテゴリを分解して表示します。カードをクリックすると単一のエスケープをコピーできます。

使用するタイミング

  • API が \u00E9 のように返してくる文字列をデコードして、実際の文字を確認したいとき。
  • 日本語などの非ASCII テキストを JSON や JavaScript ソースに埋め込み、ASCII しか通さない経路でも崩れないようにしたいとき。
  • コピーした文字列の中に隠れているゼロ幅スペースや BOM など、見えない Unicode 文字を調べたいとき。

結果

APIから\u0041\u006E\u0064\u0072\u00E9が返され、実際の名前を確認したい場合。貼り付けると「André」と表示されます。逆に、レスポンステキストをAPIペイロード用にエスケープシーケンスに変換することもできます。

よくある質問

JavaScript の中で1文字が \uXXXX 2つに分かれて表される理由は?
U+FFFF を超えるコードポイント(絵文字・古代文字・希少な CJK 文字)は基本多言語面の外にあります。JavaScript は UTF-16 サロゲートペアで表現するため、ロケット絵文字は \uD83D\uDE80 になります。ES2015 対応環境では \u{1F680} とも書けます。
コード内ではどのエスケープ形式を使うべき?
JavaScript や JSON の文字列内では \uXXXX、生 HTML 中では &#xHHHH;、CSS の content プロパティでは \HHHH、クエリ文字列やパスセグメントでは URL %XX パーセントエンコーディングを使います。JSON は \u{...} 記法を受け付けないため、JSON では必ず \uXXXX とサロゲートペアにしてください。
エスケープと HTML エンティティはどう違う?
どちらも同じ Unicode コードポイントを指します。エスケープ(\u00E9)は言語ランタイム(JavaScript、CSS、Python)が処理し、HTML エンティティ(é や é)はブラウザがマークアップを解釈するときに処理します。両者は文脈をまたいで置き換えできません。
文字列の中の見えない Unicode 文字を見つけるには?
テキストを貼り付けてエンコードモードに切り替えると、マッピング表に各コードポイントが順に表示されます。ゼロ幅スペース(U+200B)、バイト順マーク(U+FEFF)、ノーブレークスペース(U+00A0)などの不可視文字が、対応するエスケープと並んで可視化されます。
Python ソースの \u エスケープもデコードできる?
できます。Python の \u0041 と \U0001F680 は、JavaScript の \uXXXX と \u{1F680} と同じ書式です。文字列の中身(外側のクォートと r 接頭辞を取り除いたもの)を貼り付けると、デコーダーが読める文字列を返します。

関連ツール