Unicode 编码解码
把文本转成 Unicode 转义,或者把转义还原成可读字符。DevKitLab 会把每个字符按码点写成 JavaScript 的 \u 转义、U+ 码点、HTML 实体或旧版百分号转义,并逐字符列出对照,让你看清哪段编码对应哪个字。解码不挑格式,\u、U+ 和 HTML 实体混在一起粘进来也能一次还原,代理对和增补区 emoji 都能正确处理。整个过程都在浏览器里完成,源码片段和私人笔记不会离开页面。
- 双向转换,解码时多种转义格式混排也能一次还原
- 同一段输入可输出 JavaScript \u、U+ 码点、HTML 实体和旧版 %u
- 正确处理增补区字符和 emoji,包括 UTF-16 代理对
- 逐字符对照,每个字都标出对应的转义
- 可只转义非 ASCII,也可把每个字符都转义,适配不同目标
- 全程在浏览器内运行,粘贴的内容不会上传
功能简介
当你需要把文本看成 Unicode 转义,或者把一段转义还原成它所代表的字符时,这个转换器就做这一件事。它在每一步都把字符与码点的对照摆在眼前,不用安装,也不会把你粘进来的内容发到服务器。
- 01
编码解码同一面板
把普通文本编码成 Unicode 转义,或把转义解回字符,都在同一处完成,没有单独的「转换」步骤。选好方向后,结果、逐字符对照和已解码序列数都会随输入实时更新。
- 02
五种转义格式
每个字符可写成 JavaScript 的 \u 转义、U+ 码点、HTML 十六进制或十进制实体,以及旧版 %u 转义。输出可直接粘进 JavaScript、TypeScript、JSON、HTML 标记、规范文档或缺陷报告,无需再排版。
- 03
正确处理代理对
JavaScript 和百分号转义按 UTF-16 码元处理,emoji 这类增补区字符会拆成正确的高低代理对,解码时又能合回一个字符,而不是两个残缺的半码。
- 04
双向逐字符对照
编码时,对照把每个字符和它的转义并排列出;解码时,把每个转义和它解出的字符并排列出,并把代理对合并成一项,于是混合字符串是否被正确解读一目了然。
- 05
不挑格式的解码
把 \u、\u{…}、U+、%u 和 HTML 实体混在同一段里粘进来,解码会一次全部还原、合并代理对,并保留它们之间的普通文本不动。
- 06
自选转义范围
只转义非 ASCII 字符可让代码保持易读;当字段、协议或老旧工具需要严格的纯 ASCII 字符串时,也可把每个字符都转义。U+ 形式会列出全部码点,因为这种写法本就如此阅读。
- 07
一键互换复用
把当前结果送回输入并翻转方向,编码后再解码的往返核对只需点一下。
- 08
仅本地处理
编码、解码和逐字符对照都在浏览器内完成,源码片段、日志行和私人文本都留在本机,不会上传。
如何使用
粘贴文本、选好它应该写成什么样、复制结果。一切都随输入实时重算,没有单独的转换按钮要按。
- 01
在输入区输入或粘贴文本来编码,或粘贴一段要解码的 Unicode 转义。
- 02
把方向设为「编码」把文本转成转义,或「解码」把转义转回字符。
- 03
编码时选择输出格式:JavaScript \u、U+ 码点、HTML 十六进制或十进制实体,或旧版 %u。
- 04
决定只转义非 ASCII 字符还是每个字符;解码时所有格式都会自动识别。
- 05
切到逐字视图核对每个字符的映射,再复制输出,或把结果互换回输入。
功能说明
该用哪种设置取决于结果要去哪里、你在读什么。下面说明各格式与选项分别在什么场合更合适。
- JavaScript 的 \u 转义可直接粘进 JS、TypeScript 和 JSON 字符串字面量,让源文件保持纯 ASCII。
- \u{…} 码点转义和 U+ 写法都指代单个码点,这也是 Unicode 字符表和规范里列出字符的方式。
- HTML 十六进制和十进制实体(也叫数字字符引用)让符号或 emoji 在标记中正常显示,无需保存非 ASCII 文件。
- 旧版 %u 转义对应一些老式 escape 与 unescape 逻辑的输出,你可能仍需阅读或复现它们。
- 「仅非 ASCII」范围让普通字母保持易读,只转义带重音、中日韩和符号字符;「全部字符」则生成完全纯 ASCII 的字符串。
- 解码刻意做得宽容,所以一段混了几种转义写法的值仍能还原成原文。
- 逐字对照是向初学者解释码点、代理对和多字节字符最快的方式。
- 互换可做快速往返核对:编码、互换,再确认原文原样回来。
适合哪些场景
Unicode 转义常出现在写代码、排查问题和清理内容时,这些场合里,把字符与码点的对照摆出来,比凭空猜测字符串里有什么要可靠得多。
-
把文本嵌进源码
把带重音、中日韩或 emoji 的字符串转成 \u 转义,让源文件保持纯 ASCII,在任何可能弄坏原始 Unicode 的编辑器、终端或构建流水线里都安然无恙。
-
排查乱码与编码问题
看清字符串背后的确切码点,定位乱码、形近字符,以及悄悄让比较出错的不可见控制字符。
-
读规范里的码点
把 Unicode 字符表或规范里的 U+ 值转成真实字符,再反向编码确认拿到的就是对的那个。
-
写 HTML 实体
为符号、货币记号和 emoji 生成数字 HTML 实体,让标记正确显示,而不受文件字符编码影响。
-
解码日志、JSON 与配置
把从日志行、JSON 响应或配置文件里复制来的转义字符串粘进来,还原成它们真正代表的字符。
-
讲解字符编码
向同学或同事现场展示字符到码点和转义的映射,并备好代理对与 emoji 示例随手可用。
-
清理复制来的文本
逐个查看码点,找出并替换复制粘贴时混进字符串的零宽空格、智能引号和形近字符。
-
为其他系统准备数据
在交付前,为那些处理不好原始 Unicode 的字段、网址和协议生成纯 ASCII 转义。
使用建议
只要格式与目标和数据匹配,转换就是精确的。几个小习惯能让编码和解码完全可逆。
- 按目标选格式:源码用 \u,标记用数字实体,文档或笔记用 U+。
- 写代码时用「仅非 ASCII」范围,让普通字母保持原样,只改真正需要转义的字符。
- 只有当目标确实要求严格的纯 ASCII 字符串时,才切到「全部字符」范围,因为它会让输出长很多。
- 记住 \u 和 %u 按 UTF-16 码元计数,所以一个 emoji 会显示成两段转义,而非一段。
- 复制前借助逐字对照,确认代理对和多字节字符按预期编码。
- 用互换做往返核对:编码、互换,再检查原文是否毫无改动地回来。
- 处理敏感文本时用完即清空:本地处理虽不上传,但输入在你清除前仍留在面板里。
边界与注意事项
Unicode 转义只是把字符换个写法,既不能隐藏也不能保护它们。有几个边界值得记住。
- 把文本转成转义是编码,不是加密——任何人都能解回去,因此不保护任何东西。
- JavaScript 和百分号转义是 UTF-16,所以 U+FFFF 以上的任何字符都会写成两个码元的代理对。
- 解码接受不超过 U+10FFFF 的码点;超出该有效范围的片段会原样留在原处,而不是去猜测。
- 本工具处理的是码点和转义,不是 UTF-8 字节序列,需要原始字节请用文本转二进制工具。
- 解码不挑格式,所以一段恰好长得像转义的普通字符串也会被一起转换。
- 逐字对照在输入很长时会做上限截断以保持页面流畅,但完整的整段输出仍会生成。
常见问题
关于转义格式、代理对、不挑格式的解码、转义范围,以及 Unicode 转义和 UTF-8 有何不同的常见问题。
怎么把文本转成 Unicode 转义?
在输入区输入或粘贴文本,把方向设为「编码」,再选一种格式(如 JavaScript 的 \u 或 U+ 码点),工具会随输入逐字符转义。默认只转义非 ASCII 字符,切换范围即可把每个字符都转义。
怎么把 Unicode 转义解回文本?
把方向设为「解码」并粘贴转义字符串。解码能在同一段输入里识别 \u、\u{…}、U+、%u 和 HTML 实体,并合并代理对,所以混着几种格式粘进来也能还原出原始字符。
\uXXXX 和 U+XXXX 有什么区别?
两者都指代码点。\uXXXX 是 JavaScript 转义,按 UTF-16 码元处理,增补区字符会拆成代理对;U+XXXX 则是 Unicode 字符表、规范和文档里指代单个码点的标准写法。
emoji 和增补区字符怎么处理?
\u 和 %u 会把 emoji 写成 UTF-16 代理对,因为这两种格式按码元处理;\u{…}、U+ 和 HTML 实体则显示为单个码点。两种方式都能还原回原字符,解码逐字视图也会把这对合并成一项。
能解码混了几种格式的字符串吗?
可以。解码不挑格式:它能在同一段输入里一起读取 \u、\u{…}、U+、%u 和数字 HTML 实体,保留它们之间的普通文本不动,并报告一共转换了多少个转义序列。
这和 UTF-8 字节编码有什么不同?
本工具显示的是码点和转义,不是字符在磁盘上占用的字节。同一个字符只有一个码点,却往往有多个 UTF-8 字节;需要原始字节而非转义时,请用文本转二进制工具。
把文本转义算加密吗?
不算。转义只是把同样的字符换个写法,任何人都能直接转回去。它什么都藏不住,绝不能用来保护敏感信息。
我的文本会被上传吗?
不会。编码、解码和逐字符对照都在浏览器里完成。粘贴的内容不会发往服务器,源码片段、日志行和私人文本都留在本机。
更多相关工具
继续了解字节级转换、HTML 实体和文本统计,无需离开工具集合。