跳到主内容
UniKit

文本转二进制

文本与二进制互转:按 UTF-8 逐字节转换,可选补齐 8 位、4/8 位分组与分隔符,并提供十六进制与逐字节对照,中文与 Emoji 都按多字节正确编码。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

编码选项
位分组

结果

输入内容后这里会显示结果

0 位 · 0 字节

这个工具能做什么

  • 搞懂一段二进制到底是什么:贴进去就能还原成文本,中文和 Emoji 也按多字节正确解码。
  • 把文本转成二进制交给学生或同事看编码原理,配合「逐字节对照」一眼看清一个汉字占三个字节。
  • 检查编码相关的 bug:同一段文字到底是几个字节、UTF-8 的十六进制长什么样,比在调试器里猜快得多。
  • 输出格式可调:每字节补齐 8 位、每 4 位或 8 位分组、空格/换行/不分隔,方便贴进文档或代码注释。

示例

输入

Hi 你

输出

01001000 01101001 00100000 11100100 10111101 10100000

十六进制对照是 48 69 20 E4 BD A0:空格(0x20)占一个字节,汉字「你」(U+4F60)在 UTF-8 里占三个字节。

常见问题

反向转换报「不是合法的二进制」怎么办?

检查两点:字符串里除了 0、1 和空白不能有别的字符;去掉空白后总长度必须是 8 的倍数。从别处复制时常常会少一位或多一位,或者混进了全角数字。

为什么一个汉字变成三组二进制?

因为文本先按 UTF-8 编码成字节再逐字节转二进制,一个常用汉字在 UTF-8 里占 3 个字节,所以对应 3 组 8 位。ASCII 字符则只占 1 个字节。

「每字节补齐 8 位」关掉会怎样?

关掉后每个字节只输出有效位,比如 65 变成 1000001(7 位)。这样更短,但解码时因为长度不是 8 的倍数会报错,所以这种输出只适合阅读,不适合再贴回来转换。

二进制转文本时字节不是合法 UTF-8 会怎样?

会提示「这些字节不是合法的 UTF-8 文本」。因为解码用的是严格模式,遇到被截断的多字节序列不会静默替换成乱码符号,而是直接告诉你数据有问题。

关键词:binary二进制文本转二进制text to binaryutf-8hex十六进制分组编码

同类工具