二进制码翻译工具
将文本转换为 8 位二进制,或将每组八位数字的二进制解码为文本。工具按 UTF-8 字节进行转换,因此重音符号和表情符号可以正确往返;解码失败时,它会准确指出哪一组有误。免费,无需注册,您输入的任何内容都不会被上传。
转换方向
如何使用二进制码翻译工具
- 1. 选择方向。 自动检测会解码仅由以空白分隔的、每组恰好八位 0 和 1 组成的输入,其余内容则进行编码。文本 → 二进制和二进制 → 文本则强制指定方向。
- 2. 输入或粘贴。 解码时,请用空格或换行分隔每组恰好八位的数字。
- 3. 查看输出。 编码时每个字节显示为一组 8 位数字;解码时显示文本。下方会显示字节数。
- 4. 复制结果。 复制结果复制输出内容;清除会清空文本框。
文本如何变成二进制
计算机把每个字节存储为八个二进制数字(位)。每个位位置都有一个值,从右到左倍增:128、64、32、16、8、4、2、1。要读出一个字节,把值为 1 的位置的数值相加即可。对于 01001000,这些值是 64 和 8,相加得 72——而 72 是字母 H 的编码。“Hi”的第二个字节 01101001 则是 64 + 32 + 8 + 1 = 105,即 i。
| 位值 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|---|
| H = 72 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
| i = 105 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
工具并未使用虚构的“二进制字母表”。它把您的文本编码为 UTF-8(RFC 3629),并以二进制打印每个字节。英文字母、数字和标点各占一个字节,与其 ASCII 编码一致。其他字符占两到四个字节,前导位表示字节数:
| 字节数 | 字节的模式 | 示例 |
|---|---|---|
| 1 | 0xxxxxxx | A = 01000001 |
| 2 | 110xxxxx 10xxxxxx | é = 11000011 10101001 |
| 3 | 1110xxxx 10xxxxxx 10xxxxxx | € = 11100010 10000010 10101100 |
| 4 | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx | 😀 = 四个字节 |
示例
文本
Cite
二进制
01000011 01101001 01110100 01100101
大小
4 字节
解码是上述步骤的逆过程:01000011 为 67(C),01101001 为 105(i),01110100 为 116(t),01100101 为 101(e)。每组必须恰好为八位数字。选择二进制 → 文本后,若某组为七位、九位或十六位,则会被拒绝,并列出前几个出错的组,因此像 0100100001101001 这样连写的二进制必须先拆分为字节。
需要留意的意外情况
- 只有八位一组的数字才算二进制。 在自动检测中,像
101或1100这样的短字符串会被当作文本编码。连写或不规则大小的二进制也不会被自动解码:请选择二进制 → 文本,以查看哪些组无效。 - 计算的是字节,不是字符。 显示的数量是字节数。一个表情是一个字符却占四个字节,因此一条短消息可能产生比字符数更多的组。
- 乱码输出(�)。 有效的 8 位组如果不能构成有效的 UTF-8,会被解码为替换字符。数据可能采用其他编码,也可能根本不是文本。
- 这是编码,不是加密。 二进制只是书写相同字节的另一种方式,任何人都可以把它还原。
您需要哪个工具?
本页把文本翻译为二进制字节。若要在二进制、十进制、八进制和十六进制之间转换一个数字,请使用进制转换器;若要进行二进制运算,则有 Binary Calculator。同一文本的十六进制字节请用十六进制转换工具,十进制字符编码请用ASCII 转换工具,Base64 或 URL 编码请用文本编码与解码工具。
常见问题
- 如何把文本转换为二进制?
- 将方向设为文本 → 二进制(或保持自动检测),然后输入或粘贴文本。每个字符都会转换为 UTF-8 字节,每个字节显示为八位二进制数字,因此 Hi 变为 01001000 01101001。
- 如何把二进制转换回文本?
- 将二进制粘贴为由空格或换行分隔的八位一组的数字。工具会检查每一组是否恰好为八个 0 或 1,然后把字节按 UTF-8 解码。无效的组会在错误信息中指出。
- 翻译工具使用什么编码?
- UTF-8。ASCII 字符占一个字节,并与其 ASCII 二进制值一致;带重音的字母、符号和表情符号占两到四个字节。
- 为什么有时一个字符会产生多个字节?
- 只有 128 个字符能放进单字节的 ASCII 范围。UTF-8 把其他字符分配到两个、三个或四个字节上,每个字节都带有前导位,以便解码器知道一个字符从哪里开始。
- 为什么我的二进制因为八位一组的错误而失败?
- 每组必须恰好为八位数字。若二进制去掉了空格,或丢掉了前导零(65 写成
1000001而不是01000001),则在您将其重新拆分为完整字节之前都会失败。 - 二进制与 ASCII 是一回事吗?
- ASCII 是一张表,为 128 个字符各分配一个 0 到 127 之间的数字;二进制则是书写数字的一种方式。把 ASCII 编码写成二进制并补足到八位,正是本工具对英文文本所做的事。
- 我的文本会被发送到服务器吗?
- 不会。转换使用浏览器内置的 TextEncoder 和 TextDecoder 完成,您输入的任何内容都不会离开您的设备。