ToolboxAgent

Unicode 转换

在线 Unicode 转换工具,支持文本与 Unicode 转义序列双向互转。

使用说明

  1. 1 输入普通文本或 Unicode 转义文本
  2. 2 点击编码或解码
  3. 3 复制转换结果

相关工具

关于此工具

Unicode 转换工具将普通文本(包括中文、Emoji、特殊符号)转换为 \u 形式的转义序列,或将已有的转义序列还原为可读文本。在 JavaScript、Java、Python 字符串中,非 ASCII 字符常以 \uXXXX 形式存储,需要此工具互转。

常见使用场景:调试 Java properties 文件中的中文乱码、分析 JSON 数据中的 Unicode 转义字符、处理 JavaScript 混淆代码中的字符串、以及将文本转义后安全嵌入正则表达式或 JSON 字符串。

与在线正则工具或手写 charCodeAt 相比,本工具支持完整的 BMP 字符和补充字符(代理对),Emoji 表情等 4 字节 Unicode 字符(如 \uD83D\uDE00)能正确处理,不会出现截断或乱码。

常见问题

\u 转义和 \U 转义有什么区别? +

\uXXXX 是 4 位十六进制,覆盖 Unicode 基本多文种平面(BMP,U+0000 到 U+FFFF)。\UXXXXXXXX 是 8 位形式,用于 Python 字符串表示补充平面字符(如部分 Emoji)。JavaScript 中用代理对 \uD800\uDFFF 范围表示补充字符,ES6 支持 \u{XXXXX} 大括号写法。

为什么 Emoji 转义后出现两段 \u? +

Unicode 码点超过 U+FFFF 的字符(如大多数 Emoji)在 UTF-16 中需要用两个码元(代理对)表示。例如 😀 的码点是 U+1F600,转义为 \uD83D\uDE00。这是 JavaScript 等使用 UTF-16 的语言的正常行为,并非错误。

Java properties 文件为什么要用 Unicode 转义存中文? +

Java properties 文件默认使用 ISO-8859-1 编码,无法直接存储中文字符。官方要求将非 ASCII 字符转为 \uXXXX 转义序列。Java 9 以后支持 UTF-8 格式的 properties 文件,可以直接写中文,但老项目仍需转义。

Unicode 转义后的内容能直接用在 JSON 中吗? +

可以。JSON 规范明确支持 \uXXXX 形式的 Unicode 转义,任何 JSON 解析器都能正确处理。在生成 JSON 时对非 ASCII 字符做转义,可以提高跨系统传输的兼容性,尤其是经过某些不支持 UTF-8 的中间件时。

怎么快速识别一段字符串是否包含 Unicode 转义? +

查找 \u 后跟 4 个十六进制字符(0-9、a-f、A-F)的模式,即 \\u[0-9a-fA-F]{4}。常见于 Java 源码、JavaScript 字符串、JSON 数据和 HTTP 响应体中。本工具的解码功能可以批量还原这些序列。