ForHosting KIT · 開発者向けツール

Unicodeエスケープ変換

Hiは\u0048\u0069になり、アクセント付きのéは\u00e9、絵文字U+1F600は\ud83d\ude00というペアになります。戻すときは読める文字に復元し、壊れたエスケープは推測せずに受け付けません。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日
入力した場合
テキスト
Hi
計算モード
Encode
結果
結果
\u0048\u0069
長さ
12
コード単位
2
エスケープ数
2

\uの後に続く4桁の十六進数が、1つのUTF-16コードユニットを表します。単純な文字は\u0041、アクセント付き文字は\u00e9になり、基本多言語面の外の文字(絵文字、歴史的な文字、多くの現代記号)は、例えば\ud83d\ude00のような上位と下位のサロゲートペアとして現れます。それらの列を手作業で文書に貼り付けるのは遅く誤りやすく、切り詰められた、あるいは十六進でないエスケープを甘すぎるツールがデコードすると、誤った文字を黙って作り出してしまいます。この機能は、平文を連続した\uXXXX列へ符号化し、エスケープの多い文字列をサロゲートペアを正しく認識したうえで読みやすい文字へ戻します。

\uXXXXエスケープがUTF-16コードユニットを表す仕組み

バックスラッシュ、文字u、そしてちょうど4桁の十六進数です。その形式は、文字がU+FFFFを超えるとき、それ自体で完全なUnicodeスカラーを名指しするのではなく、UTF-16のコードユニットを名指しします。

U+0000からU+FFFFまでの値(単位としてなお出力し得る未対のサロゲートの境界事例を除く)は、大文字Hの\u0048や鋭アクセントのeの\u00e9のように、単一のエスケープになります。U+10000からU+10FFFFまでのスカラーはサロゲートペアとして符号化されます。

まずU+D800–U+DBFFの上位サロゲート、続いてU+DC00–U+DFFFの下位サロゲートです。したがって笑顔のU+1F600は、6桁の単一エスケープではなく\ud83d\ude00になります。\u12のような途中切れ、\uGGGGのような非十六進本体、未知のバックスラッシュエスケープは推測せず拒否します。

有効な上位+下位のペアはfromCodePointで一つのスカラーに再結合され、往復で絵文字と補助面のテキストが保たれます。

UTF-16とサロゲートペアの教育

一つの絵文字が二つの\uXXXXユニットになることを示し、ペアをデコードして戻すことで長さとコードポイントの概念を定着させます。

このツールはどのエスケープ形式を使いますか?

非BMP文字は上位と下位のサロゲートペアとして符号化されます(例: \ud83d\ude00)。

双方向に変換できますか?

はい。 modeをencode(既定)にすると平文を連続した\uXXXX列にし、modeをdecodeにするとエスケープ(サロゲートペアを含む)を文字へ展開します。

不正なエスケープではどうなりますか?

\u12のような途中切れ、非十六進の本体、未知のバックスラッシュエスケープは、問題を示すメッセージとともに拒否されます。検証失敗は課金されません。

絵文字やその他の非BMP文字に対応していますか?

はい。 Encodeは二つの\uXXXXユニットのサロゲートペアを出し、decodeは有効な上位+下位ペアを一つのスカラーに再結合するため、往復で元の絵文字が保たれます。

戻すときに大文字の\Uも使えますか?

はい。戻すときは\uと\Uのどちらでも、後ろにちょうど4桁の16進数があれば読み取ります。変換するときは、常に小文字のuと小文字の16進数で書き出します。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/enc/unicode-escape

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/enc/unicode-escape \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hi café"}'
{
  "text": "Hi café"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.unicode_escape",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

JSONのペイロード、Javaのリソースバンドル、JavaScriptの文字列リテラルをデバッグする開発者は、常にバックスラッシュu形式に出会います。無料のブラウザツールと有料APIは一つの決定的なコアを共有するため、教室のデモ、CIの検査、ライブのwebhookは、公開価格$0.002(成功したitem1件あたり)で常に同じ対応付けに一致します。

\uXXXXエスケープがUTF-16コードユニットを表す仕組み

Java、JavaScript、JSONの文字列文法は、いずれも同じ古典的なエスケープでUnicodeテキストを記述します。この設計は、JSON.stringifyの出力、多くのJava Propertiesファイル、コードポイントエスケープ\u{…}より前の古いJavaScriptソースで目にするものと一致します。この機能はencode時にコードポイント認識で入力を走査し、各ユニットに小文字4桁の十六進を出し、decode時は4桁の十六進が続く\uまたは\Uを走査します。

送信する内容と返ってくる内容

Encodeは各文字を連続した\uXXXXユニットにします。Hiは\u0048\u0069になり、ASCIIとcaféと絵文字が混在する文字列は、より長いが完全にエスケープされた結果になります。Decodeは逆を行います。整形式の各\uXXXXを対応するコードユニットに置き換え、両半分があるときサロゲートペアを一つの文字に再結合し、一度もエスケープされなかったリテラル文字はそのまま残すため、混在した貼り付けでも機能します。検証失敗はプリペイド残高を消費しません。必須の文字列フィールドtextと、encodeまたはdecodeに設定する任意のmodeフィールドを送信してください。modeを省略した場合、encodeが既定となるため、単一のペイロードでも有用な処理が行われます。decodeでは\n、\t、\r、\\、\"のような一般的なJSONの同伴エスケープも受け付けるため、文字列リテラルからコピーした断片が最初の改行エスケープで失敗しません。成功時の応答はmodeと元のtextを写し、主出力文字列としてresultを返し、length、code_units(処理したUTF-16ユニット数)、escape_count(生成または消費した\uXXXXの数)、formatラベル\uXXXX、Java・JavaScript・JSONを示す短いstandard注記を含みます。textの欠落、未対応のmode値、文書化された上限を超える文字列、\uの後が途切れた十六進、エスケープ内の非十六進桁、未知のバックスラッシュ列は、いずれもinvalid_inputと、インデックスまたはフィールドを示す英語メッセージで失敗します。成功したAPI呼び出しの料金は、公開されている1件$0.002の基本額です。

実務でUnicodeエスケープ変換が登場する場面

Javaバックエンドと話すモバイルやデスクトップのクライアントは、アクセント付きラベルごとに\u列で埋まったProperties風バンドルをログに出すことがあり、サポートチームはIDEの設定を探す代わりに、専用の変換ランディングへその行を貼り付けます。プログラミング講座では、JavaScriptの文字列長がユーザーが知覚する文字ではなくUTF-16ユニットを数えることを教え、一つの絵文字に二つのエスケープを見せるライブのエンコーダがその教訓を具体化します。バックスラッシュなしのU+スカラー一覧、生のUTF-16十六進ダンプ、URL向けパーセント符号化、名前付きHTMLエンティティが必要な場合は、このUnicodeエスケープ列のページに過負荷をかけるのではなく、別の検索意図とランディングとして扱ってください。それらは、下位のコードが短くても異なるクエリに応えます。APIやwebhookの作者は、非ASCIIの製品名やユーザー生成のキャプションが完全にエスケープされたJSONをしばしば受け取ります。それらを読みやすいテキストへ戻すと、アプリケーションのフルランタイムを立ち上げずにトリアージが速くなります。この機能は純粋なparseエンジンであるため、API料金は成功item1件につき公開の基本額$0.002のままで、検証失敗は残高を消費しません。

エスケープされたJSONとJavaログのデコード

\u00e9とサロゲートペアで埋まったログ行を貼り付けて読みやすいテキストに戻し、次のデプロイ用に修正したfixtureを再符号化します。

シリアライザ向けCIゴールデン文字列の作成

製品名と絵文字キャプションを、ライブラリ更新後もJSONとJavaの文字列ダンプが一致すべき安定した\uXXXX形へ符号化します。

料金はいくらですか?

ブラウザツールは無料でローカル実行です。APIリクエストは成功したitem1件あたり$0.002のプリペイドKIT残高を使い、無効な入力は課金されません。

KITの完全なドキュメントを見る →