Unicode 轉義
文字與 \uXXXX 轉義序列互轉,支援代理對與 emoji
先選擇四位格式或花括號碼點格式,再編碼;用於 JSON 時選擇四位格式,解碼支持這兩種寫法。
範例
輸入
中文
示例結果
\u4e2d\u6587
選擇四位格式。解碼兩段轉義可還原原文。
技術細節與邊界
四位寫法 \uXXXX 表示一個 UTF-16 碼元;超過 U+FFFF 的碼點需要一對代理碼元。\u{...} 直接表示碼點,最大為 U+10FFFF,但不是合法的 JSON 字符串轉義。此工具只處理 Unicode 轉義,不替代 JSON.stringify 對引號和反斜槓的完整處理。
關於此工具
將 Unicode 字符轉為反斜槓 u 轉義或還原,支持四位 UTF-16 寫法和花括號碼點寫法,可選擇只轉義非 ASCII 字符或全部字符。適合查看配置、源碼和日誌中的字符表示。
適用場景
- 把原始碼裡的中文 / emoji 換成純 ASCII 的 \u 轉義串。
- 解讀日誌中的一堆 `\uXXXX` 到底是什麼。
操作步驟
- 放入文字或含 \u 的轉義串。
- 按 Escape 編碼,或 Unescape 解碼。
注意事項
預設對 ASCII 可列印字元不做轉義,只處理非 ASCII。BMP 外字元使用 `\u{XXXXXX}` 大括號寫法。
常見問題
- emoji 會被拆成兩個 \uXXXX 嗎?
- 若目標語言只支援 `\uXXXX`,emoji 會以 UTF-16 代理對形式展開。本工具預設 `\u{...}` 大括號,避免代理對。
- 為甚麼轉換結果不能直接放進 JSON?
- 花括號格式不屬於 JSON 語法,而且普通引號或反斜槓可能尚未轉義。生成完整 JSON 字符串請使用 JSON 序列化器。
- 會同時處理反斜槓 n 換行轉義嗎?
- 不會,它只處理 Unicode u 轉義。完整字符串字面量應交給對應語言的解析器。
- 為甚麼超出基本多文種平面的字符會產生兩段轉義?
- 四位格式表示 UTF-16 碼元,超出 U+FFFF 的碼點需要一對高、低代理項。花括號格式可以用一段表示碼點,但不屬於 JSON 的轉義語法。
相關工具