Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

Unicodeエスケープ変換

日本語や絵文字などのASCII以外の文字を、文字コードをもとに \uXXXX や \u{XXXXX} 形式のUnicodeエスケープに変換する、またはUnicodeエスケープされた文字列を元の文字に戻せるツールです。JavaScriptやJSONで扱う文字コードの確認にも使えます。

ツール

0文字

モード
形式

JavaScript や JSON の文字列で使う形式です。絵文字は \uD83D\uDE00 のようにサロゲートペア 2 つになります。

仕様

本ツールの仕様は以下の通りです:

  • 対応形式: Unicodeエスケープ(\uXXXX 形式と \u{XXXXX} 形式)とアンエスケープ
  • 文字コード: Unicode(日本語や絵文字を含むテキストに対応)
  • 入力文字数制限: 100,000文字まで(絵文字などは2文字分として数えます)。超えた場合は変換しません
  • 出力形式: テキスト
  • 自動変換: 入力、モード、形式を変えると、ボタンを押さずに結果を更新します。入力の途中で変換できない場合は、入力が止まってから約0.6秒後にエラーを表示します(空欄のときはエラーにしません)
  • エスケープ: ASCII(U+0000〜U+007F)以外の文字を、文字コードを16進数(大文字)で表したUnicodeエスケープに変換します。「形式」で変換の仕方を選択
    • \uXXXX(既定): JavaScriptやJSONの文字列で使う形式。常に16進数4桁(例:あ → \u3042、é → \u00E9)。U+10000以上の絵文字などはサロゲートペア2つになります(例:😀 → \uD83D\uDE00)
    • \u{XXXXX}: ES2015以降のJavaScriptで使える形式。先頭の0を省いた桁数で、絵文字も1つで表します(例:é → \u{E9}、😀 → \u{1F600})
    • 英数字・記号・スペース・改行・タブなどASCIIの文字はそのまま出力します。バックスラッシュ(\)も \\ にはしません
    • 単独のサロゲートはエラーにせず、\uD800(\u{XXXXX} 形式では \u{D800})のように変換します
  • アンエスケープ:
    • \uXXXX(16進数ちょうど4桁)と \u{XXXXX}(16進数1〜6桁、U+10FFFFまで)を元の文字に変換。16進数の大文字・小文字は区別しません
    • \uD83D\uDE00 のようなサロゲートペアは1つの文字(😀)に変換します。単独のサロゲートはエラーにせずそのまま出力します(画面では文字化けして表示される場合があります)
    • 1回の走査で変換するため、二重には変換しません
    • \u 以外のバックスラッシュの並び(\n \t \\ \U など)は変換せず、そのまま残します
    • \u の後ろが正しくない場合(\u12、\uZZZZ、\u{}、\u{110000}、閉じていない \u{ など)は変換せず、最初の1か所の位置(何文字目か)を表示
  • 注意事項:
    • バックスラッシュ自体のエスケープ(\\)は解釈しません。そのため \\u3042 は \あ に変換されます
    • 入力に \u3042 のような文字列が含まれていると、エスケープの結果にもそのまま残り、アンエスケープすると「あ」になります
    • JSONやJavaScriptのソース全体を厳密に変換する用途や、\x41・HTMLの数値参照など他の形式には対応していません
    • 入力欄の改行はLFとして扱われます
  • 処理方式: ブラウザ内で処理し、入力内容はサーバーに送信しません

使い方

本ツールの使い方は以下の通りです:

  1. テキストボックスにUnicodeエスケープしたいテキスト(アンエスケープの場合は \u3042 のようなUnicodeエスケープ文字列)を入力します。
  2. モード(エスケープ・アンエスケープ)を選択します。
  3. エスケープ時は、形式を選択します。選択中の形式の用途が下に表示されます。
    • 「\uXXXX(JavaScript・JSON)」:JavaScriptやJSONの文字列で使う形式です。文字コードを16進数4桁で表します(既定)。
    • 「\u{XXXXX}(ES2015 以降)」:絵文字も1つの文字コードで表せる形式です。
    • アンエスケープ時は形式を選択しません。\uXXXX と \u{XXXXX} のどちらも変換します。
  4. 下部に変換結果が自動で表示されます。
    • モードや形式を変えると、結果もすぐに更新されます。
  5. 変換できない場合は、入力が止まってから少し後に、エラーの原因が表示されます。不正な \u の並びは、その位置も表示されます。
  6. 必要に応じて以下を選択することができます。
    • 「クリップボードにコピーする」ボタン
      • 変換結果をクリップボードにコピーできます。
    • 「リセットする」ボタン
      • 入力内容と結果を消去し、モードと形式を初期値に戻します。

※ 入力したテキストはブラウザ内で処理され、サーバーには送信されません。

関連コンテンツ