Unicode编码在线转换 - \\uXXXX格式与中文/Emoji互转
文本转\\uXXXX编码 / \\uXXXX解码为文本 / 支持Emoji增补字符
Unicode 编码在线转换说明
Unicode 是国际通用的字符编码标准(最新 Unicode 15.1 收录约 15 万字符),为每个字符分配唯一码点(Code Point)。本工具支持文本与 Unicode 转义序列双向互转:BMP 字符(U+0000~U+FFFF,含中文、英文、标点)转为 \\uXXXX(4 位十六进制)格式,增补字符(U+10000 以上,含 Emoji、CJK 扩展汉字)转为 \\UXXXXXXXX(8 位十六进制)格式。底层通过 codePointAt() 正确处理代理对,避免 Emoji 被拆分为两个 \\u 编码。如需 URL 百分号编码请使用 URL编解码工具。
使用场景
- JavaScript 字符串处理:在 JS 代码中嵌入 Unicode 转义序列(如
'\u4F60\u597D'输出\"你好\"),处理多语言字符串字面量。 - CSS 图标与 iconfont:自定义字体图标在 CSS 中使用
content: '\\e600'等编码,通过本工具可快速查询字符对应编码。 - JSON 数据传输:JSON 标准允许
\\uXXXX转义,确保中文等非 ASCII 字符在不同系统间正确传输。 - Emoji 编解码:Emoji 大多属于增补字符(如 😀 = U+1F600),需要 4 字节 UTF-16 编码,本工具使用
\\UXXXXXXXX格式正确处理。
常见问题
\\uXXXX 和 \\UXXXXXXXX 有什么区别?
\\uXXXX 用于 BMP(基本多文种平面)字符,码点范围 U+0000~U+FFFF,用 4 位十六进制表示,涵盖中文、英文、数字等常用字符。\\UXXXXXXXX 用于增补字符(U+10000 及以上),用 8 位十六进制表示,主要用于 Emoji(如 😀 = U+1F600)、CJK 扩展汉字等。两者均为 Unicode 转义序列,仅位数不同。
为什么有些 Emoji 转为两个 \\u 编码?
这是 UTF-16 编码中代理对(Surrogate Pair)导致的。如果使用 charAt() 逐字符处理,Emoji 会被拆分为高位代理(0xD800-0xDBFF)和低位代理(0xDC00-0xDFFF)两个码元。本工具使用 codePointAt() 获取完整码点,确保 Emoji 输出为单个 \\UXXXXXXXX 而非两个不完整的 \\uXXXX。
Unicode 和 UTF-8 是什么关系?
Unicode 是字符集标准——为每个字符分配唯一编号(码点),如"中"的码点为 U+4E2D。UTF-8 是编码方案——规定如何将码点转换为字节序列存储或传输。同一 Unicode 码点可用不同编码(UTF-8、UTF-16、UTF-32)表示。本工具处理的是 JavaScript 字符串(UTF-16 编码),输出的 \\uXXXX 是码点值而非 UTF-8 字节。
输入 \\u4F60\\u597D 解码失败怎么办?
请检查格式是否严格正确:① \\u 或 \\U 前缀必须小写(\\u 不能写成 \\U 或大小写混用)、② 十六进制位数必须正确(\\u 为 4 位,\\U 为 5~8 位)、③ 字母部分 A-F 大小写均可。还可用 JSON格式化 交叉检查字符串中的转义字符。