Unicode 解码指把 \uXXXX、U+XXXX、&#x…; 这类码点表示还原成可读文字,例如把 \u4e2d\u6587 还原为“中文”。下面重点说明匹配与校验写法。
Unicode解码相关的常用正则表达式
- 匹配 \uXXXX 转义:\\u[0-9a-fA-F]{4}
- 匹配常用汉字(基本区):[\u4e00-\u9fff]
- 匹配零宽字符:[\u200b-\u200f\ufeff]
不同语言中反斜杠可能需要再转义一次;用于校验时记得加上 ^ 和 $。
示例
输入:a+b=c
还原结果:a+b=c
说明:读取每个 \uXXXX 还原为字符。
规则说明
- JSON、JavaScript、Java 字符串支持 \uXXXX
- Python 字符串支持 \uXXXX 和 \UXXXXXXXX(8 位)
- ES6 起 JavaScript 支持 \u{1F600} 写法
- CSS 中写作 \4E2D,HTML 中写作 中
JavaScript 示例
下面是 JavaScript 中处理Unicode解码的常用写法:
const s = "中文😀";
[...s].map(c => "U+" + c.codePointAt(0).toString(16).toUpperCase());
// ["U+4E2D","U+6587","U+1F600"]
JSON.parse('"\\u4e2d"'); // "中"运行前确认输入的字符集(推荐 UTF-8),结果可以用本站工具交叉核对。
本站的Unicode转换工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【Python 怎么把 \u 字符串转中文?】如果是 JSON 字符串用 json.loads;如果是普通文本用 s.encode().decode("unicode_escape")(只适用于 ASCII 文本)。
【中 能解码吗?】可以,这是 HTML 十六进制实体,同样表示“中”。
【.properties 文件里的 \u 怎么处理?】Java 9 起 properties 支持 UTF-8,也可以用 native2ascii -reverse 还原。
文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。