什么是文本转二进制转换器?
这个工具基于 ASCII(美国信息交换标准代码)把普通文本转换成二进制。在基础 ASCII 中,键盘上的每个字符都对应一个 0 到 127 之间的数字。转换器会逐个读取字符,查出它的 ASCII 码,把这个码值转成二进制(即二进制),再补零到正好 8 位(一个字节)。最终得到的二进制,正是计算机在底层存储和传输数据时所使用的形式。
如何使用
在输入框中键入或粘贴任意文本,然后提交,你会看到三种形式的结果:按 8 位字节分组的二进制(最易阅读)、连续不间断的二进制串,以及对应的十进制 ASCII 码。这套规则是通用的,不受任何国家或地区设置的影响——ASCII 是一项国际通用的计算标准。
计算公式详解
对于每个字符 \(c\),先求出 \(\operatorname{ASCII}(c)\),把它转换成二进制,再在左侧补零,直到长度满 8 位。
$$\text{Binary} = \bigl\Vert_{i=1}^{n}\ \operatorname{pad}_{8}\!\left(\operatorname{bin}\!\left(\operatorname{ASCII}\!\left(\text{Text}_{i}\right)\right)\right)$$
举例来说,字母「A」的 ASCII 码是 \(65\),\(65\) 的二进制是 \(1000001\),只有 7 位,因此补零后变成 \(01000001\)。把每个字符对应的字节依次拼接起来,就得到完整的二进制串。
实例演示
以单词「Hi」为例。「H」\(= \operatorname{ASCII}\ 72 = 1001000\),「i」\(= \operatorname{ASCII}\ 105 = 1101001\)。各自补足到 8 位后为 \(01001000\) 和 \(01101001\)。分组输出为 01001000 01101001,连续输出为 0100100001101001。
ASCII 字符转二进制参考表
标准键盘上的每个字符都映射到 0 到 127 之间的 ASCII 十进制代码,该代码存储为二进制的 8 位字节。下表列出了常见可打印字符及其十进制代码和填充的 8 位二进制值。例如,字母 A 是十进制 65,二进制表示为 01000001。
| 字符 | 十进制 (ASCII) | 8 位二进制 |
|---|---|---|
| (空格) | 32 | 00100000 |
| ! | 33 | 00100001 |
| " | 34 | 00100010 |
| # | 35 | 00100011 |
| $ | 36 | 00100100 |
| % | 37 | 00100101 |
| & | 38 | 00100110 |
| ' | 39 | 00100111 |
| ( | 40 | 00101000 |
| ) | 41 | 00101001 |
| * | 42 | 00101010 |
| + | 43 | 00101011 |
| , | 44 | 00101100 |
| - | 45 | 00101101 |
| . | 46 | 00101110 |
| / | 47 | 00101111 |
| 0 | 48 | 00110000 |
| 1 | 49 | 00110001 |
| 2 | 50 | 00110010 |
| 3 | 51 | 00110011 |
| 4 | 52 | 00110100 |
| 5 | 53 | 00110101 |
| 6 | 54 | 00110110 |
| 7 | 55 | 00110111 |
| 8 | 56 | 00111000 |
| 9 | 57 | 00111001 |
| : | 58 | 00111010 |
| ; | 59 | 00111011 |
| ? | 63 | 00111111 |
| @ | 64 | 01000000 |
| A | 65 | 01000001 |
| B | 66 | 01000010 |
| C | 67 | 01000011 |
| M | 77 | 01001101 |
| Z | 90 | 01011010 |
| a | 97 | 01100001 |
| b | 98 | 01100010 |
| c | 99 | 01100011 |
| m | 109 | 01101101 |
| z | 122 | 01111010 |
要验证整个单词,文本 Hi 变为 01001000 01101001。
如何手动将文本转换为二进制
将文本转换为二进制意味着将每个字符转换为其 8 位 ASCII 表示。对字符串中的每个字符按照从左到右的顺序执行以下步骤。
- 一次取一个字符。 从左到右处理文本;每个字符独立转换,然后将结果连接。
- 查找 ASCII 十进制代码。 在 ASCII 表中查找该字符。例如,大写字母 K 的十进制代码是 75。
- 通过重复除以 2 将十进制转换为二进制。 将数字除以 2 并记录余数,然后用商重复,直到达到 0。从下往上读取余数。
对于 75:75 ÷ 2 = 37 余 1;37 ÷ 2 = 18 余 1;18 ÷ 2 = 9 余 0;9 ÷ 2 = 4 余 1;4 ÷ 2 = 2 余 0;2 ÷ 2 = 1 余 0;1 ÷ 2 = 0 余 1。向上读取余数得到 1001011。 - 左侧填充零以形成 8 位。 一个字节始终是 8 位,因此在前面加上前导零:1001011 变为 01001011。
- 按顺序连接字节。 将所有 8 位组连接在一起。对于连续输出,将它们写在没有间隔的地方;对于可读输出,在每个字节之间用单个空格分隔。
实际操作示例——单词"Hey":
- H = 72 = 01001000
- e = 101 = 01100101
- y = 121 = 01111001
带空格的结果:01001000 01100101 01111001。要以其他方式检查单个字节,二进制 01001000 转换回十进制 72,即 H 的 ASCII 代码。
关键术语解释
- ASCII
- 美国信息交换标准代码,一种字符编码标准,为字母、数字、标点符号和控制字符分配 0 到 127 的数字代码。
- 位
- 数字数据的最小单位,保存单个二进制值 0 或 1。
- 字节
- 8 位的组合。一个字节可以代表 256 个不同的值(0–255),足以保存任何标准或扩展 ASCII 字符。
- 二进制(二进制)
- 仅使用数字 0 和 1 的数字系统。每个位置代表二的幂(1、2、4、8、16 等),因此字节 01000001 等于 64 + 1 = 65。
- 7 位对 8 位
- 原始 ASCII 只需要 7 位来覆盖代码 0–127。在现代系统中,每个字符存储在完整的 8 位字节中,对于标准 ASCII 字符,额外的前导位设置为 0。
- 填充 / 前导零
- 添加到二进制数前面的零,使每个字节恰好 8 位长。例如,代码 5 变为 00000101,而不仅仅是 101,保持所有字节对齐。
- 连续输出对比带空格输出
- 连续输出将所有字节连接在一起,没有分隔符(例如 0100100001101001),而带空格输出在每个字节之间插入一个空格(例如 01001000 01101001),以便更容易读取和解码。
- 十进制代码
- 由 ASCII 分配给字符的十进制数字,例如 A 是 65。它是字符及其二进制形式之间的中间值。
- 扩展 ASCII(代码 128–255)
- 一种扩展,使用第八位添加另外 128 个字符,例如带重音符号的字母和制表符号。这些编码在代码页之间有所不同,因此同一代码在不同系统中可能显示不同。
常见问题
为什么每个字符用 8 位? 一个字节是 8 位,而标准 ASCII 只需 7 位就够,因此补到 8 位可以让每个字符宽度一致,也与数据实际存储的方式相符。
能处理空格和标点吗? 可以——空格的 ASCII 码是 \(32\)(\(00100000\)),所有可打印符号也都有对应的码值。
那表情符号或带重音的字母呢? 码值大于 127 的字符超出了基础 ASCII 的范围;本工具会取每个字符的数字码值进行处理,对标准英文文本的效果最佳。