Unicode 与中文互转
中文与 Unicode 码位互转:支持 U+4E2D、4E2D、\4E2D、中、\u{4E2D} 五种转义写法,反向解析还认得十进制实体与 0x 前缀,无法识别的片段原样保留。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
转换结果
结果可直接复制。
输入文本后即可转换
字符数: 0 · 已转换: 0 · 原样保留: 0
这个工具能做什么
- 排查乱码或前后端转义不一致:把「U+4E2D」这类调试输出直接还原成中文字符。
- 把中文写成 \uXXXX 形式,塞进只接受 ASCII 的配置文件、日志格式或老旧脚本里。
- 生成 HTML 实体(中)给邮件模板用,避免不同邮件客户端的中文编码问题。
- 核对字符本身:转成码位后与 Unicode 码表比对,确认拿到的是「中」(U+4E2D) 而不是形近的兼容字符。
示例
输入
中文ABC
输出
U+4E2D U+6587 U+0041 U+0042 U+0043
转义按码位逐个处理(emoji 这类代理对算一个字符),反转义支持带分隔符的混排文本。
常见问题
五种转义写法有什么区别?
U+4E2D 是 Unicode 官方写法,可读性最好;4E2D 是裸十六进制,最短;\4E2D 是 CSS 的 content 转义写法;中 是 HTML/XML 十六进制实体;\u{4E2D} 是 ES6 模板里的码位转义。内容完全一致,选目标环境认识的那种。
反转义时怎么区分「裸十六进制」和普通单词?
裸十六进制支路要求前后都不是十六进制字母数字,且长度在 4–6 位之间,所以 name4E2D 不会被切出尾巴,abc 也不会被误当成码位。如果文本里本来就有这种串,可以关掉「识别裸十六进制」选项。
emoji 会被拆成两个码位吗?
不会。转义用 for...of 按码位迭代,😀 是 U+1F600 一个码位,输出 U+1F600 而不是两个代理码位。反转义时 U+D83D 这种落在代理区的值会直接报「码位非法」,因为单独一个代理码位构不成合法字符。
为什么 U+110000 会报错?
Unicode 的最大码位是 U+10FFFF,超过就是非法码位,工具直接抛错而不是悄悄截断,避免生成错误字符。同样,超过 U+10FFFF 的十进制实体也会被拒绝。
转义结果里的分隔符能改吗?
可以,默认是一个空格,方便逐段对照;改成空串就得到连续的 U+4E2DU+6587。反转义时并不依赖分隔符,因为每种写法自带结束标记。
处理结果会发到服务器吗?
不会,全部在浏览器本地按码位计算,文本不会离开这台设备。
关键词:unicode 转中文中文转 unicodeunicode converter码位转换转义escape sequence&#x 实体