编码加密 · Unicode / Hex

Unicode 编解码

\\uXXXX/&#NNN;/utf-16 互转

✓本地处理 · 不上传 ✓免费 · 无需登录 ✓无次数限制 累计 119 次使用
文本 ↔ Unicode 转义 · 码点查询 · 全本地
格式 范围
文本 plain text
0 字符 · 0 码点
Unicode 转义 escape
0 字符
编辑「文本」→ 实时编码;编辑「转义」→ 自动识别解码
码点表code points · per character
在上方「文本」框输入内容后,这里逐码点列出字符 · U+码点 · UTF-16 码元 · UTF-8 字节(emoji / 代理对正确合并为单个码点)。
示例:点 中 → 中 · 🎉 → \u{1F389} · 解码 中 → 中
就绪 · 输入文本或转义即时互转
第一节

关于本工具

About

网页源码里看到 `\u4e2d` 或 `中`,知道是“中”字,但手动转码或猜码位太慢。这个工具把 \uXXXX、&#NNN; 和 UTF-16 文本三者互转,输入任意一种格式,即时输出对应内容。转换全在浏览器本地执行,字符不离开设备,适合前端调试、文本清洗时快速核对编码。

使用场景

壹

修复乱码邮件

2023年3月,深圳一家外贸公司的客服收到一封来自德国客户的邮件,标题和正文全是类似 \u00e4\u00f6\u00fc 的转义字符,无法阅读。客服将这段转义序列粘贴到本工具,瞬间还原为正常的德语元音字母(äöü),并确认这是客户发来的产品规格更新。工具支持 \uXXXX 与 UTF-16 互转,无需安装任何软件,浏览器内直接完成解码。

贰

游戏汉化补丁调试

独立游戏开发者小陈在汉化一款日式 RPG 时,遇到了游戏引擎只识别 \uXXXX 格式的 Unicode 编码。他需要将中文台词(如“勇者”)逐个转换为 \u52C7\u8005 才能写入脚本。使用本工具,他输入中文后一键得到对应的 \u 编码序列,比手动查表快了 10 倍,且避免了因编码错误导致的游戏崩溃。

叁

数据库迁移编码校验

2024年初,某电商平台进行数据库从 GBK 到 UTF-8 的迁移。运维工程师老王发现部分字段显示为乱码,他怀疑是旧数据中的 &#NNN; 实体引用未被正确转换。他将疑似乱码的字段值(如 字)粘贴到工具中,解码为汉字“字”,快速定位到 200 条受影响记录,并批量完成修正。

肆

前端国际化文件生成

前端工程师小李在开发一个多语言网站时,需要将英文文案的 Unicode 码点(如 U+0041 对应 'A')转换为 JavaScript 可识别的 \uXXXX 格式。他使用本工具,输入码点值,立即得到 \u0041,直接嵌入 JSON 语言包。工具同时支持反向转换,方便他在调试时快速查看字符对应的码点。

伍

API 接口调试与验证

后端开发小张在调试一个返回 JSON 数据的 API 时,发现响应中包含 \uD83D\uDE00 这样的高代理对。他怀疑是 UTF-16 编码的 emoji 字符。他将该序列输入工具,工具将其正确解码为 😀,确认了 API 的 Unicode 编码无误。这帮助他在 5 分钟内排除了编码相关的 bug。

第二节

使用指南

Getting Started

使用步骤

  1. 1在输入框粘贴或键入待转换文本,右侧预览区即时显示对应的 \uXXXX、&#NNN; 与 UTF-16 编码
  2. 2点击「编码」标签切换查看 \uXXXX 或 &#NNN; 格式,每行编码旁附带原始字符,方便对照
  3. 3点任意编码结果旁的复制图标,该编码即写入剪贴板,粘贴到代码或配置文件中即可使用
  4. 4展开「解码」输入区,粘贴 \uXXXX 或 &#NNN; 编码串,下方立即还原为原始文本,支持批量解码

输入输出示例

输入输出说明
\u4e2d\u6587中文常规:\uXXXX 格式解码为汉字,验证基本 Unicode 转义解码功能
😀😀常规:HTML 十六进制实体转字符,验证超出 BMP(基本多语言平面)的 emoji 处理
\u0048\u0065\u006c\u006c\u006fHello常规:纯 ASCII 字符的 \u 编码,验证无歧义的基础拉丁字母转换
\u0000(空字符,不可见)边界:U+0000 空字符,验证工具是否保留或丢弃 null 字符,部分实现会截断
周(U+10FFFF 对应字符)边界:Unicode 最大码点 U+10FFFF,验证工具是否支持完整的 21 位编码空间
\uD83D\uDE00😀易错:代理对(surrogate pair)输入,验证工具是否正确识别 UTF-16 代理对并解码为单个字符
��😀易错:十进制代理对实体,验证工具是否支持十进制代理对还原为 emoji(非所有工具都处理)

常见错误对照

1.混淆 \uXXXX 与 UTF-16 编码的字节序

✗ 错误输入 \u00E9 期望得到 UTF-16BE 的字节 00 E9,但工具输出的是 UTF-16LE 的 E9 00
✓ 修复明确工具默认输出 UTF-16LE(小端序)或手动指定字节序

\uXXXX 是 Unicode 码位的转义表示,与 UTF-16 编码的字节序无关。UTF-16 编码时,BOM 或约定决定字节序,工具通常按系统默认(LE)输出。

2.HTML 实体 &#NNN; 误用十进制与十六进制

✗ 错误输入 é 期望解码为 é,但工具只识别十进制 é
✓ 修复使用十进制格式 é 或确认工具是否支持 &#x 前缀

HTML 实体有两种形式:&#NNN;(十进制)和 &#xHH;(十六进制)。本工具仅处理十进制 &#NNN; 格式,十六进制需先转换。

3.将 UTF-16 代理对直接当作单个码位输入

✗ 错误输入 \uD83D\uDE00 期望得到单个 Unicode 码位 U+1F600
✓ 修复输入 \uD83D\uDE00 作为两个转义序列,或直接输入码位 U+1F600

U+10000 以上的字符用 UTF-16 编码时拆为代理对(高代理 + 低代理)。工具解码时需输入完整代理对,不能当作单个 \uXXXX。

4.忽略 BOM 对 UTF-16 解码结果的影响

✗ 错误输入字节 FE FF 00 41 期望得到 'A',但工具按无 BOM 处理输出乱码
✓ 修复明确告知工具输入包含 BOM,或先移除 BOM 再解码

UTF-16 文件常以 BOM(FE FF 为 BE,FF FE 为 LE)开头。工具若默认无 BOM,会错误地将 BOM 当作字符数据解码。

5.将 \u 转义用于非 BMP 字符时漏写代理对

✗ 错误输入 \u1F600 期望表示 😀,但 JavaScript 引擎只识别 \u{1F600} 或代理对
✓ 修复使用 \u{1F600}(ES6)或 \uD83D\uDE00(代理对)

JavaScript 的 \uXXXX 只支持 BMP 字符(U+0000~U+FFFF)。超出此范围的字符需用 \u{XXXXX} 或 UTF-16 代理对表示。

6.解码时未区分码位与编码字节序列

✗ 错误输入十六进制字节 E9 期望解码为 'é',但工具要求输入的是 \u00E9 或 é
✓ 修复输入 \u00E9 或 é 作为码位表示,而非原始字节

Unicode 编解码工具处理的是码位(如 \uXXXX、&#NNN;),不是原始编码字节(如 UTF-8 的 E9)。输入字节需先转换为对应码位形式。

7.误以为 \uXXXX 与 UTF-8 字节序列等价

✗ 错误输入 UTF-8 字节 C3 A9 期望得到 'é',但工具输出乱码
✓ 修复将 C3 A9 先转换为码位 U+00E9,再输入 \u00E9

\uXXXX 是 Unicode 码位的转义,UTF-8 是编码方式。同一码位在不同编码下的字节不同,工具不处理编码转换,只处理码位表示。

第三节

工作原理

How It Works

核心公式

U+HHHH = 0xHHHH → \uHHHH / &#NNN; / UTF-16LE: [LL, HH]

变量说明

  • U+HHHHUnicode 码点,十六进制表示
  • \uHHHHJavaScript 转义,H 为 4 位十六进制
  • &#NNN;HTML 十进制实体,NNN 为码点十进制值
  • UTF-16LE小端序字节对,LL 低字节,HH 高字节

示例

码点 U+4E2D(汉字“中”):十六进制 0x4E2D → \u4E2D;十进制 20013 → 中;UTF-16LE 字节序列 [2D, 4E](低字节 0x2D,高字节 0x4E)。

输入字符串(含 \u / &# / 纯文本)解析转义序列(识别 \u / &# 格式)查 Unicode 表(码点 ↔ 字符映射)输出转换结果(\u / &# / 纯文本)校验合法性(非法序列 / 超出范围)错误提示(标红 / 显示原因)
输入 / 错误提示 本地解析与校验 输出结果
第五节

常见问题

Q & A
问我有一串 \u4f60\u597d,怎么转成汉字?+
答

直接粘贴到输入框,工具会自动识别并解码为汉字。\u4f60\u597d 是 Unicode 的 JSON 转义格式,每个 \u 后跟 4 位十六进制数,对应一个字符。本工具支持批量处理,最多可一次解码 5000 个字符。注意输入时不要混入中文引号或多余空格,否则可能识别失败。

问字符 这种格式怎么用?+
答

&# 后跟十进制数字,是 HTML 实体编码,也叫数字字符引用。直接输入 字符 到本工具,点击解码即可得到“字符”二字。反过来,输入汉字“字符”再点编码,也能生成对应的 &# 格式。本工具同时支持 &# (十进制)、&#x (十六进制) 和 \u 三种格式互转。

问为什么我转出来的 \u 码不对,多了个反斜杠?+
答

大概率是输入时反斜杠被转义了。比如在 JSON 字符串里,\u 实际存储为 \\u,因为反斜杠本身需要转义。建议直接粘贴原始 Unicode 转义序列,不要经过二次转义。如果是从程序日志或 API 响应里复制,检查是否被编辑器自动补了反斜杠。本工具只认纯 \uXXXX 格式。

问UTF-16 和 \u 编码有什么区别?+
答

\uXXXX 是 Unicode 码点(U+XXXX)的 JSON 转义表示,每个码点固定 4 位十六进制,只覆盖基本多语言平面(BMP)字符。UTF-16 是实际编码方案,BMP 字符用 2 字节,辅助平面字符(如 emoji)用 4 字节(代理对)。本工具转换时,\u 模式只处理 BMP 字符;UTF-16 模式支持完整 Unicode 范围,包括 emoji 和生僻汉字。

问手机上的特殊符号(比如 emoji)能转吗?+
答

可以。本工具基于浏览器原生 TextEncoder/TextDecoder,支持完整 Unicode 范围,包括 emoji、数学符号、CJK 扩展区汉字等。输入一个 😊,编码后得到 \uD83D\uDE0A(UTF-16 代理对)或 HTML 实体 😊。注意代理对在 \u 格式下显示为两个码点,这是 UTF-16 规范,不是错误。

问这个工具是纯前端处理的吗?数据会不会上传到服务器?+
答

完全纯前端,所有转换在浏览器本地完成,不经过任何服务器。代码用 JavaScript 实现,依赖浏览器内置的 encodeURIComponent/decodeURIComponent 和 TextEncoder API。输入内容不会离开当前页面,适合处理含敏感信息的 Unicode 字符串,比如密钥、Token 或内部编码。

问我贴了一长串 \u 码,只转了一半就停了?+
答

检查输入中是否包含不完整的转义序列,比如 \u 后不足 4 位十六进制,或混入了非法字符(如中文逗号、全角空格)。本工具遇到非法序列会停止解析并提示错误位置。建议分段粘贴,先确认每段格式正确。单次输入上限为 5000 个字符,超出部分会被截断。

问&#x 和 &# 格式一样吗?我该用哪个?+
答

&# 后跟十进制数,&#x 后跟十六进制数,两者表示同一个 Unicode 码点。例如汉字“中”的十进制是 中,十六进制是 中。本工具解码时自动识别前缀,编码时默认输出十进制格式,如需十六进制可手动切换输出选项。HTML 标准中两者都支持,推荐用十进制更易读。

问为什么同一个汉字,不同工具转出来的 \u 码不一样?+
答

标准 Unicode 码点(U+XXXX)是唯一的,比如“好”永远是 U+597D。如果看到不同结果,可能是工具把 UTF-16 代理对(如 emoji)当成了两个独立码点,或者用了 GBK/GB2312 等其他编码。本工具严格按 Unicode 标准映射,码点值与 unicode.org 的 Character Code Charts 一致。

问能不能批量把文件里的 \u 码全部转成中文?+
答

工具界面支持粘贴文本批量处理,但无法直接读取文件。如果文件内容全是 \u 格式,全选复制粘贴到输入框即可。对于超大文件(>5000 字符),建议分多次处理。如需自动化处理,可用 Python 的 json.loads() 或 JavaScript 的 JSON.parse() 写脚本,原理与本工具一致。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

↑↓选择 ↵打开 ⌘+↵新窗口 esc关闭