DevKit源码

Unicode / 字节编码转换

Unicode 转义、UTF-8 文本与 Hex 字节互转,区分字符与字节。

⌘/Ctrl + Enter 执行
未执行
文本输入
字符 0字节 0行 0
结果
字符 0字节 0行 0
字符数 ≠ 字节数(本工具的核心概念)

三把「尺子」

  • 字符(码点):用户眼中的一个字符。🎉 是 1 个字符。
  • UTF-16 码元:JS 字符串的存储单位。🎉 占 2 个码元(代理对), 占 1 个。
  • UTF-8 字节:网络传输 / 文件落盘的实际字节。🎉 占 4 字节, 占 3 字节,ASCII 字符占 1 字节。

转义规则

  • 格式为 \uXXXX(4 位十六进制);默认只转义非 ASCII 字符,英文与换行保持可读。
  • 码点 > 0xFFFF 的字符(如 emoji)用代理对的两个 \uXXXX 表示,例如 🎉 为 \ud83c\udf89
  • 还原时:成对的 \\ 是字面反斜杠文本,原样保留;单个 \u 后不足 4 位十六进制会报错并定位位置。
  • 还原使用逐字符扫描替换,不使用 eval。

Hex 字节

  • 文本 → Hex:按 UTF-8 编码,输出连续小写十六进制。
  • Hex → 文本:忽略空白;长度必须为偶数且为合法十六进制;字节序列必须是有效 UTF-8,否则报错并定位到第几个字节。

什么时候用「Unicode / 字节编码转换」

要把中文转成 \uXXXX 转义写进 Java 源码,或核对一段文本真实的 UTF-8 字节值。

使用要点

  • 明确区分“字符”与“字节”,避免转义后长度对不上。
  • 支持 Unicode 转义、UTF-8 文本与 Hex 字节三者互转。
  • 排查乱码时,先用它看清真实字节序列再决定怎么修。

相关工具

Unicode / 字节编码转换与其他 44 个工具一样,全部计算都在你的浏览器里完成:输入、密钥与文件不会发送到服务器,页面首次加载后可离线使用。