这个工具适合做什么
Unicode 编码从 0 开始为每个符号指定编号,这个编号叫做码点(code point),范围从 U+0000 到 U+10FFFF。Unicode 解码/编码在线工具可以把中文、emoji 等字符转换为 \uXXXX 转义,也可以把 Unicode 转义还原为可读文本。
本工具 Unicode 编码仅转换输入的中文等双字节字符,例如'你好ABC'将转换为'\u4f60\u597dABC',单字节字符保持不变。
Unicode 转义、UTF-8 和普通文本对照
| 概念 | 示例 | 说明 |
|---|---|---|
| 普通文本 | 你好 | 人直接阅读的字符。 |
| Unicode 码点 | U+4F60 U+597D | 字符在 Unicode 标准里的编号。 |
| Unicode 转义 | \u4f60\u597d | JavaScript、JSON 字符串中常见的转义写法。 |
| UTF-8 字节 | E4 BD A0 E5 A5 BD | 字符落到文件、网络传输时的一种字节编码方式。 |
Unicode 不是某一种具体字节编码。看到 \uXXXX 时,通常是在处理字符串转义;看到 E4 BD A0 这类十六进制字节时,通常是在处理 UTF-8、文件编码或网络传输。
常见输入和排查方式
| 输入类型 | 示例 | 建议操作 |
|---|---|---|
| 中文转义 | \u4f60\u597d | 直接解码,确认是否还原为“你好”。 |
| JSON 字符串 | {"name":"\u5f20\u4e09"} | 先判断是否需要 JSON 解析,再处理字符串里的转义。 |
| 多层反斜杠 | \\u4f60\\u597d | 先去掉一层转义或解析外层字符串,再做 Unicode 解码。 |
| emoji | \ud83d\ude00 | 这是代理项对,两个 \uXXXX 合起来表示一个 emoji。 |
- 如果解码后仍然是 \uXXXX,说明原文可能被多转义了一层。
- 如果解码后变成乱码,问题可能不在 Unicode 转义,而在原始字节编码。
- 接口调试时先确认返回的是 JSON 字符串、普通文本,还是已经经过 URL/Base64 编码的内容。
使用步骤
- 在文本输入区输入普通字符,查看对应的 Unicode 转义结果。
- 把包含 Unicode 转义的字符串粘贴到解码区,还原为可读文本。
- 确认输出格式后,再复制到源码、配置文件、接口参数或日志排查场景中使用。
编码和解码示例
输入: 你好ABC
编码后: \u4f60\u597dABC
输入: \u4e2d\u6587\u8f6c\u4e49
解码后: 中文转义
常见使用场景与注意事项
常见问题
为什么 ASCII 字符没有被转成 \uXXXX 形式?
因为这个工具的编码侧主要针对中文等双字节字符做转换,普通 ASCII 字符会保持原样,便于处理中英文混排文本。
Unicode 编码和 UTF-8 是一回事吗?
不是。Unicode 更像是字符编号体系,而 UTF-8 是具体的编码实现方式之一。页面里看到的 \uXXXX 则更接近一种转义表示法。
\uXXXX 和 U+XXXX 有什么区别?
U+XXXX 是 Unicode 码点的标准写法,\uXXXX 是很多编程语言和 JSON 字符串里的转义写法。它们常常指向同一个字符,但使用场景不同。
emoji 为什么会出现两个 \uXXXX?
很多 emoji 的码点超过 U+FFFF,在 JavaScript 字符串里会用两个 UTF-16 代理项表示,例如 \ud83d\ude00 合起来才是一个表情字符。
为什么解码后还是乱码或结果不对?
常见原因是输入内容并不是标准 Unicode 转义,或者原文经过了多层转义、JSON 包裹、反斜杠转义等处理。需要先确认原始字符串的真实层级。
接口里的中文显示成 \u4e2d\u6587 是错误吗?
不一定。这通常只是 JSON 或字符串序列化时选择了 Unicode 转义表示,语义上仍然是同一段中文。真正要排查的是是否能被目标系统正确解码。
相关工具
- JSON格式化:在线JSON格式化、在线编辑JSON、JSON语法检查
- URL编码/解码:对Url中特殊的字符进行在线编码与在线解码
- BASE64编码/解码:将字符串编码为Base64格式,或将Base64格式字符串解码为原始字符串