长风破浪会有时,直挂云帆济沧海。 —— 李白《行路难》

Unicode编码在线转换 - \\uXXXX格式与中文/Emoji互转

文本转\\uXXXX编码 / \\uXXXX解码为文本 / 支持Emoji增补字符

输入
字符: 0
输出
字符: 0

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格式化 交叉检查字符串中的转义字符。