编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 编码解码 / 文本转二进制

文本转二进制

文本和二进制(0/1)互转。

输入
结果

这个工具能做什么

这个工具做两件相反的事:把一段文字按 UTF-8 编码拆成一串 8 位二进制字节,或者把一串 01 二进制还原回文字。转文字时,每个字符会先被编码成一个或多个字节,每个字节固定输出 8 位(不足位补前导零),字节之间用空格隔开,方便逐字节阅读;转文字回来时,工具把输入的 01 串按每 8 位切成一个字节,再当作 UTF-8 序列解码。它解决的痛点很直接:你不用再手算某个字符的字节表示,也不用对着一堆 01 数着位数还原内容。

原理上,计算机里并没有直接存「字」,存的是字节,而字符到字节的映射规则就是编码。本工具用的是 UTF-8 这种变长编码:字符先对应到一个 Unicode 码点,UTF-8 再把码点编码成 1 到 4 个字节。ASCII 范围内的字符(U+0000 到 U+007F)占 1 字节,最高位是 0,比如 'A' 是 01000001;常见汉字通常占 3 字节,采用 1110xxxx 10xxxxxx 10xxxxxx 的前导位加续接位结构。以「中」为例,码点 U+4E2D 编码后是三个字节 11100100 10111000 10101101,正好 24 位。反向还原时必须按 8 位分组、再按 UTF-8 的多字节规则拼合,而不是简单地一段 8 位对应一个字符。

最常见的用途是学计算机原理和排查编码问题。教学场景里,把「你好」这种输入直接变成具体的比特,能让「字符是怎么变成字节的」不再是抽象概念。调试时,你可以把两端的字符串各自转成二进制字节流做逐字节比对,看差异出在哪一位、哪一个字节,判断是不是编码不一致导致的乱码。再比如想确认一段字符串是不是纯 ASCII,只要看每个字节的首位是不是都为 0 即可;给协议解析或位运算作业构造测试数据时,也能用它快速得到确定的二进制样本。

要注意这只是数据的另一种表示,不是压缩也不是加密:转成二进制后体积反而变大,且完全可逆,和哈希那种不可还原的摘要是两回事。它也不同于 Base64——Base64 是把字节按 6 位一组映射成可打印字符、用于在文本通道里搬运二进制,而本工具输出的是每个字节原原本本的 8 位二进制,主要用来观察底层数据。反向解码有两个前提:01 的总位数得是 8 的整数倍,且字节序列要符合 UTF-8 规则;如果原文其实是 GBK 等其它编码的字节,按 UTF-8 解就可能报错或出现乱码。

文本转二进制是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“文本转二进制”、“二进制转文本”、“字符串转二进制”,说的都是这个。

常见使用场景

使用方法

  1. 把内容粘贴到输入框(生成类工具直接设置选项)。
  2. 按需要选择选项,点操作按钮。
  3. 结果出现在下方,点「复制结果」即可带走。

常见问题

一个中文字符转成二进制是多少位?
在 UTF-8 下,常见汉字占 3 个字节,也就是 24 位(3 组 8 位)。少数生僻字和 emoji 会占 4 字节,即 32 位。
为什么英文字母是 8 位,中文却是 24 位?
因为 UTF-8 是变长编码,ASCII 范围内的字符只占 1 字节,而汉字通常要用 3 字节表示,所以位数不一样。
二进制转文本时提示解析失败或出现乱码是什么原因?
多半是 01 的总位数不是 8 的整数倍,或者字节序列不符合 UTF-8 规则。也可能是原文本本来用的是 GBK 等其它编码,按 UTF-8 解就会出错。
文本转二进制和 Base64 有什么区别?
本工具输出的是每个字节完整的 8 位二进制串,主要用于观察底层数据;Base64 是把字节按 6 位分组映射成可打印字符,目的是在纯文本通道里传输二进制。
转换会不会把我的文本上传到服务器?
不会,编码和解码都在浏览器本地完成,输入内容不会发送到服务器。

相关工具

查看全部「编码解码」工具 →

相关名词解释