修复乱码邮件
2023年3月,深圳一家外贸公司的客服收到一封来自德国客户的邮件,标题和正文全是类似 \u00e4\u00f6\u00fc 的转义字符,无法阅读。客服将这段转义序列粘贴到本工具,瞬间还原为正常的德语元音字母(äöü),并确认这是客户发来的产品规格更新。工具支持 \uXXXX 与 UTF-16 互转,无需安装任何软件,浏览器内直接完成解码。
编码加密 · Unicode / Hex
\\uXXXX/&#NNN;/utf-16 互转
| 字符 | 码点 U+ | 十进制 | UTF-16 | UTF-8 字节 | 平面 |
|---|
网页源码里看到 `\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 语言包。工具同时支持反向转换,方便他在调试时快速查看字符对应的码点。
后端开发小张在调试一个返回 JSON 数据的 API 时,发现响应中包含 \uD83D\uDE00 这样的高代理对。他怀疑是 UTF-16 编码的 emoji 字符。他将该序列输入工具,工具将其正确解码为 😀,确认了 API 的 Unicode 编码无误。这帮助他在 5 分钟内排除了编码相关的 bug。
| 输入 | 输出 | 说明 |
|---|---|---|
| \u4e2d\u6587 | 中文 | 常规:\uXXXX 格式解码为汉字,验证基本 Unicode 转义解码功能 |
| 😀 | 😀 | 常规:HTML 十六进制实体转字符,验证超出 BMP(基本多语言平面)的 emoji 处理 |
| \u0048\u0065\u006c\u006c\u006f | Hello | 常规:纯 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+1F600U+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 是编码方式。同一码位在不同编码下的字节不同,工具不处理编码转换,只处理码位表示。
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)。
直接粘贴到输入框,工具会自动识别并解码为汉字。\u4f60\u597d 是 Unicode 的 JSON 转义格式,每个 \u 后跟 4 位十六进制数,对应一个字符。本工具支持批量处理,最多可一次解码 5000 个字符。注意输入时不要混入中文引号或多余空格,否则可能识别失败。
&# 后跟十进制数字,是 HTML 实体编码,也叫数字字符引用。直接输入 字符 到本工具,点击解码即可得到“字符”二字。反过来,输入汉字“字符”再点编码,也能生成对应的 &# 格式。本工具同时支持 &# (十进制)、&#x (十六进制) 和 \u 三种格式互转。
大概率是输入时反斜杠被转义了。比如在 JSON 字符串里,\u 实际存储为 \\u,因为反斜杠本身需要转义。建议直接粘贴原始 Unicode 转义序列,不要经过二次转义。如果是从程序日志或 API 响应里复制,检查是否被编辑器自动补了反斜杠。本工具只认纯 \uXXXX 格式。
\uXXXX 是 Unicode 码点(U+XXXX)的 JSON 转义表示,每个码点固定 4 位十六进制,只覆盖基本多语言平面(BMP)字符。UTF-16 是实际编码方案,BMP 字符用 2 字节,辅助平面字符(如 emoji)用 4 字节(代理对)。本工具转换时,\u 模式只处理 BMP 字符;UTF-16 模式支持完整 Unicode 范围,包括 emoji 和生僻汉字。
可以。本工具基于浏览器原生 TextEncoder/TextDecoder,支持完整 Unicode 范围,包括 emoji、数学符号、CJK 扩展区汉字等。输入一个 😊,编码后得到 \uD83D\uDE0A(UTF-16 代理对)或 HTML 实体 😊。注意代理对在 \u 格式下显示为两个码点,这是 UTF-16 规范,不是错误。
完全纯前端,所有转换在浏览器本地完成,不经过任何服务器。代码用 JavaScript 实现,依赖浏览器内置的 encodeURIComponent/decodeURIComponent 和 TextEncoder API。输入内容不会离开当前页面,适合处理含敏感信息的 Unicode 字符串,比如密钥、Token 或内部编码。
检查输入中是否包含不完整的转义序列,比如 \u 后不足 4 位十六进制,或混入了非法字符(如中文逗号、全角空格)。本工具遇到非法序列会停止解析并提示错误位置。建议分段粘贴,先确认每段格式正确。单次输入上限为 5000 个字符,超出部分会被截断。
&# 后跟十进制数,&#x 后跟十六进制数,两者表示同一个 Unicode 码点。例如汉字“中”的十进制是 中,十六进制是 中。本工具解码时自动识别前缀,编码时默认输出十进制格式,如需十六进制可手动切换输出选项。HTML 标准中两者都支持,推荐用十进制更易读。
标准 Unicode 码点(U+XXXX)是唯一的,比如“好”永远是 U+597D。如果看到不同结果,可能是工具把 UTF-16 代理对(如 emoji)当成了两个独立码点,或者用了 GBK/GB2312 等其他编码。本工具严格按 Unicode 标准映射,码点值与 unicode.org 的 Character Code Charts 一致。
工具界面支持粘贴文本批量处理,但无法直接读取文件。如果文件内容全是 \u 格式,全选复制粘贴到输入框即可。对于超大文件(>5000 字符),建议分多次处理。如需自动化处理,可用 Python 的 json.loads() 或 JavaScript 的 JSON.parse() 写脚本,原理与本工具一致。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。