文本 ↔ Unicode 转义
文本与 Unicode 转义互转:`\uXXXX`、`\xXX`、`U+XXXX`、`〹`、HTML 实体与 URL 百分号编码,可只转义非 ASCII,中文与 Emoji(代理对)都正确。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
解码会自动识别上面所有写法:反斜杠转义、U+ 码点、HTML 实体与 %XX 字节,混着写也能还原。
这个工具能做什么
- 看清一段文本里到底藏了什么:`\uXXXX`、`U+XXXX`、HTML 实体或 `%XX` 百分号编码,贴进去就还原成可读文字。
- 写代码时要塞中文或 Emoji 进 JSON、正则或源码字符串,转成 `\uXXXX` 转义就不用担心编码问题。
- 排查乱码:把接口返回的 `%E4%BD%A0%E5%A5%BD` 还原,确认服务端到底传了什么字节。
- 解码会自动识别混合写法,`\u4f60`、`你`、`%E4%BD%A0` 混在一段里也能一起还原,不用先判断格式。
示例
输入
你好 🎉
输出
\u4f60\u597d\u0020\ud83c\udf89
默认格式是 JS 转义且连 ASCII 一起转义,所以空格也会变成 \u0020;U+1F389 超出基本平面,输出成一对代理项 \ud83c\udf89。
常见问题
\uXXXX 和 U+XXXX 有什么区别?
`U+XXXX` 是 Unicode 码点的书写规范,只用来表示「这个字符是第几个码点」,不能直接放进字符串;`\uXXXX` 是 JavaScript 等语言的转义写法,会真正变成那个字符。超出 U+FFFF 的字符在 JS 里要写成一对代理项,比如 🎉 是 \ud83c\udf89。
「连 ASCII 一起转义」关掉后会怎样?
关掉后只有非 ASCII 字符被转义,英文和数字原样保留,输出更短更可读。注意反斜杠、以及 HTML 格式下的 & < > 仍然会被转义,否则解码时会认错。
解码时报「有写法残缺的转义序列」是怎么回事?
说明出现了 \u、\x、&# 之类的前缀但后面不是合法的位数,例如 \u12 或 &#xZZ;。工具不会猜你的意图而是直接报错,补全十六进制位即可。
\xXX 和 %XX 有什么区别?
两者都是「字节」而不是「码点」:\xe4\xbd\xa0 和 %E4%BD%A0 都表示「你」的 UTF-8 三个字节。字节序列不是合法 UTF-8 时会报错,不会静默替换成乱码。
文本会被上传吗?
不会。编解码全部在浏览器里用 JavaScript 完成,页面不发任何网络请求。
关键词:unicode转义unescapeescapeu+code point码点emojihtml 实体url 编码