🔧Toolify

文本转二进制转换器 — 编码与解码

输入任意文本即可转换为二进制,或粘贴二进制代码以解码回文本。每个字符通过其ASCII/Unicode值进行转换。可选择空格分隔、换行分隔或连续二进制输出。

分隔符:
二进制输出

工作原理

文本转二进制的工作原理

计算机中的每个字符都以数字形式存储。对于标准ASCII文本,字母「A」对应数字65,「B」对应66,小写「a」对应97,空格对应32。将文本转换为二进制时,此工具查找每个字符的数值(ASCII/Unicode码点),然后将该数字用二进制(基数2)表示,补齐至8位。例如:「H」= 十进制72 = 二进制01001000,「e」= 十进制101 = 二进制01100101。

反向过程(二进制转文本)读取8位一组的数据,将每组从二进制转换回十进制数,然后查找对应码点的字符。如果粘贴空格分隔的二进制(如01001000 01100101),工具会按空格分割。如果粘贴连续的二进制(如0100100001100101),会自动按8位分组。每个8位组必须恰好包含8个0或1,否则工具会显示错误。

二进制与十六进制的数据表示比较

二进制(基数2)只使用0和1,是数字数据最基本的表示方式——直接反映了计算机内存中比特的存储方式。但它较为冗长:一个ASCII字符需要8位数字。十六进制(基数16)更加紧凑:每个十六进制位代表4个二进制位,因此一个字节只需2位十六进制数字。「H」= 十六进制0x48,而二进制为01001000。

当需要查看或操作单个比特时,二进制表示最为有用——例如检查位掩码中的标志位、理解Unicode码点如何编码为UTF-8字节,或在比特层面分析网络数据包结构。对于大多数数据检查任务,十六进制在紧凑性和可读性之间提供了良好的平衡。许多调试器和协议分析器以十六进制显示数据,并提供可选的二进制视图。

超越ASCII:Unicode与多字节字符

标准ASCII仅涵盖128个字符(7位,代码0–127),足以处理英文文本,但无法处理带重音字符、非拉丁字母或表情符号。现代文本以Unicode编码,定义了超过14万个字符。此工具使用JavaScript内置的charCodeAt()方法,返回每个字符的UTF-16编码单元。对于基本拉丁字符,这等于Unicode码点,也等于ASCII代码。

对于非ASCII字符,如「é」(233)、「ñ」(241)、「中」(20013)或「😀」(128512,使用UTF-16代理对),二进制表示会更长或以不同方式分割。如果需要与UTF-8实际在磁盘上存储字节一致的二进制编码,需要先将字符串进行UTF-8编码,再将每个字节转换为二进制。对于大多数教育和编码学习目的,此处使用的逐字符方法是标准做法。

常见问题

如何将文本转换为二进制?

文本中的每个字符都转换为其ASCII或Unicode数字代码,然后以二进制(基数2)表示,补齐至8位。例如:「A」= 十进制65 = 二进制01000001。「Hello」变为01001000 01100101 01101100 01101100 01101111。此工具自动处理转换——只需选择「文本 → Binary」模式,在左侧框中输入文本即可。

如何将二进制转换为文本?

选择「Binary → 文本」模式并粘贴二进制字符串。二进制必须以8位为一组(字节)。如果用空格分隔,每个空格分隔的组就是一个字节。如果连续(无空格),工具每8位划分为一个字节。每个字节从二进制转换为数字,然后查找对应的ASCII/Unicode字符。

为什么每个二进制组是8位?

一个字节是8位,ASCII使用7位代码(0–127)。按惯例,ASCII代码存储在带前导零的完整8位字节中,使所有条目恰好为8个二进制位。这使解析明确无误:每8位 = 一个字符。一些较旧的表示使用7位ASCII(省略前导零),但8位编码是现代标准。

常见字符的二进制是什么?

空格 = 00100000,「A」= 01000001,「a」= 01100001,「0」= 00110000,回车换行(LF)= 00001010,句点「.」= 00101110。规律很容易看出:大写字母以010开头,小写字母以011开头,数字以0011开头。

此工具能处理非英语字符吗?

可以,对于Unicode码点低于65,536的字符(大多数拉丁文、希腊文、西里尔文、中日韩、阿拉伯文、希伯来文等字符)。每个字符转换为其Unicode码点的二进制表示。但由于127以上的字符需要超过8位,会产生超过8位的二进制组。对于表情符号和U+FFFF以上的字符,JavaScript会将其拆分为代理对,可能产生意外结果。

交换按钮有什么作用?

交换按钮将当前输出(编码时为二进制字符串,解码时为文本)移至输入框,同时将模式切换为相反方向。这样可以立即验证往返转换:编码一些文本,点击交换,检查是否得到原始文本。也可用于探索二进制字符串所编码的内容。

二进制和摩斯密码一样吗?

不一样。二进制使用恰好8位(0和1)通过ASCII/Unicode数值表示每个字符。摩斯密码使用可变长度的点和划表示字母和数字,序列基于英语中字母的频率(如E和T这样的常用字母有更短的代码)。两种系统是完全不同的编码方案,尽管两者都将文本表示为一系列符号。

二进制与Base64有什么区别?

二进制显示每个字符的实际比特模式——存储在内存中的原始比特。Base64是一种更高层次的编码,使用64个可打印字符将任意二进制数据转换为安全的ASCII文本字符串。Base64用于需要在只接受文本的环境中嵌入二进制数据时(如电子邮件附件或数据URI)。二进制表示用于人工检查比特模式;Base64用于数据传输和存储。

相关工具

最后更新:

看看 AI 提示词 →