文本转二进制
文本与二进制互转:按 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十六进制分组编码