Unicode 转换工具

文本与反斜杠 u 转义、码点转义、HTML 实体、UTF-8 字节、URL 编码、Base64 互转,支持反向还原与码点明细。

支持中文、英文与 emoji,emoji 会按码点正确拆分,不会从中间截断。

使用说明

  1. 在上面的输入框粘贴或输入文本,七种格式同时输出,各自的复制按钮独立取用。
  2. 写 CSS content 或 JS 字符串时用反斜杠 u 转义,BMP 外字符会自动拆成正确的代理对。
  3. 写 HTML 页面时用实体格式,十进制与十六进制等价,十六进制更常见于文档。
  4. 排查编码问题时看 UTF-8 字节行,每个字段的字节数与统计行可以交叉验证。
  5. 需要还原时把任意格式的转义串粘进反向框,点还原文本,识别出的格式会标注在结果上方。

常见问题

什么是码点,什么是代理对?
码点是字符在 Unicode 表中的编号,例如「中」是 U+4E2D。超出基本平面的字符编号大于 FFFF,在 UTF-16 里要用两个码元表示,这一对码元就是代理对,emoji 几乎都是这种情况。
反斜杠 u 转义可以用在哪些地方?
JS 字符串、JSON 文件与 CSS 的 content 属性都支持。BMP 内字符写四位编号,BMP 外字符必须写成两个四位转义,本工具输出的就是可直接粘贴的合法写法。
为什么同一文本的 Base64 和 UTF-8 十六进制长度不一样?
两者都是字节层面的表示,内容等价,只是排版不同。Base64 把每 3 字节编码成 4 个字符并带尾部等号,十六进制把每字节展开成两个字符,所以视觉长度不同。
转换在本地进行吗?
是。全部转换与还原都在浏览器本地完成,文本不会离开当前设备,页面没有任何联网请求。

使用步骤

  1. 输入文本

    在输入框粘贴或键入内容,七种格式立即同时输出,每种格式配有独立复制按钮,随输入实时刷新。

  2. 按场景取用

    写 JS 字符串或 CSS content 用反斜杠 u 转义,写 HTML 用实体,排查编码问题看 UTF-8 字节行。

  3. 查看码点明细

    下方的明细表列出每个字符的码点、十进制值与 UTF-8 字节数,最多展示 200 行,方便逐字符核对。

  4. 反向还原

    把任意格式的转义串粘进反向框点还原,工具自动识别格式并还原成明文,识别结果标注在结果上方。

工具详细介绍

Unicode 转换工具面向需要在不同转义格式之间来回切换的开发者与作者。同一份文本输入后,页面同时给出反斜杠 u 转义、码点转义、HTML 实体的十进制与十六进制写法、UTF-8 字节序列、URL 编码与 Base64,七种表示互相等价,随输入实时刷新。每种格式都有独立复制按钮,粘贴目标位置时不会带进多余字符。界面上没有多余的选项,所有结果一眼可读,移动端同样可以顺畅操作,随时打开随时转换。

工具对增补平面字符做了正确处理。emoji 之类的字符编号超过 FFFF,在 UTF-16 里必须写成一对代理对,很多简易转换器会把 emoji 拆坏或漏转,本工具按码点切分后再转义,输出始终合法。反向还原支持全部七种格式,混合串也能按特征依次解析,识别出的格式会明确标注。全部计算在浏览器本地完成,输入内容不会离开设备。对排查编码问题来说,这些视图互相印证,比单个转换器更有说服力。

原理与背景

Unicode 给每个字符分配一个编号,称为码点,书写时习惯用 U+ 加十六进制表示。UTF-16 把常用字符映射为单个十六位码元,编号超过 FFFF 的字符则用高低代理对拼出,高低两段各占四位十六进制。反斜杠 u 转义正是码元的直接写法,所以 emoji 会输出形如反斜杠 D83D 反斜杠 DE00 的成对形式,而码点转义用大括号直接写原始编号,两种写法在 JS 里等价。理解了码点与码元的差别,转义写法就不再神秘。

UTF-8 是另一套字节层方案:编号小的字符用一个字节,越大用得越多,最多四字节,中文常用字稳定占三字节。HTML 实体是把码点写成与符号加编号加分号的记法,浏览器渲染时还原为字符。Base64 则把任意字节流转成六十四个安全字符的文本。同一文本在这些表示之间可以无损往返,工具的反向还原正是按这一原理逐层剥离格式。

典型使用场景

  1. 修复源码里的乱码

    接手的代码里出现成串问号或方块时,把正确文本转成反斜杠 u 转义写回源码,源文件本身保持 ASCII,无论用什么编码打开都不会再损坏。版本库里的字符串从此保持稳定。

  2. 调试接口编码问题

    服务端返回的中文变成百分号串或乱码时,把收到的串粘进反向框还原,看识别格式就能判断对方用的是 URL 编码、实体还是 Base64,快速定位出错的环节。多数乱码问题两分钟内就能定位。

  3. 准备多语言文案

    把品牌名、emoji 混排文案转成码点明细逐字核对,确认没有混入相似字符或不可见字符,再交付翻译或上线,避免同形异码字符带来的安全隐患。上线前的几分钟检查能省掉后续大量返工。

使用技巧

  • 写 CSS 的 content 属性时用反斜杠 u 转义最稳妥,注意增补平面字符要写两个四位转义。
  • 排查乱码时先看 UTF-8 字节行,E4 B8 AD 这样的序列能直接对照编码表定位问题环节。
  • URL 编码结果如果含加号,通常来自旧式表单编码,本工具输出的是标准百分号编码。
  • 明细表超过 200 行会截断,长文本建议分段查看,统计行始终给出完整计数。

注意事项

  • 用字节数当字符数

    JS 的 length 数的是 UTF-16 码元,emoji 会算成两个,数据库按字节截断时更会截坏字符。统计与截取都要按码点处理,本工具的统计行专门给出三套口径。按码点统计才是可靠口径。

  • 手写残缺的代理对

    只复制代理对的高半段会产生非法字符串,多数环境显示为问号。转义增补平面字符时两个四位转义必须成对出现,用工具生成可以保证成对。复制前先确认成对完整。

  • 混淆编码与加密

    Base64 和百分号编码都只是表示方式的转换,任何人都能还原,没有保密作用。需要保密时应使用加密方案,编码只解决传输兼容问题。不要把编码当成保护手段。

相关工具