二进制翻译器
这个二进制翻译器可在文本与二进制代码之间相互转换。输入任意文本即可查看其二进制表示,或粘贴二进制代码(每组 8 位)以使用 ASCII 字符编码将其解码为可读文本。
二进制翻译器
在普通文本与二进制代码之间即时转换。
常见问题
如何将二进制转换为文本?
将二进制字符串拆分为每8位一组(每组一个字节)。使用位置记数法(每位代表2的幂次)将每个8位组转换为十进制值。然后查找该十进制值对应的ASCII字符。例如,01001000 = 十进制72 = ASCII中的"H"。对每个字节重复此步骤以重建完整文本消息。
二进制代码如何表示字母?
二进制代码使用ASCII(美国信息交换标准代码)编码系统来表示字母。每个字母被分配一个唯一的数字:大写A-Z为65-90,小写a-z为97-122。这些数字然后表示为8位二进制值。例如,"A"在十进制中是65,二进制中是01000001。这种标准化映射使全球计算机能一致解释文本。
什么是二进制ASCII?
ASCII是一种字符编码标准,为包括字母、数字、标点和控制字符在内的字符分配数值(0-127)。在二进制中,ASCII使用7位表示128个唯一字符,但通常存储为8位(一个字节),最高位设为0。扩展ASCII使用全部8位支持256个字符,增加了重音字母和国际使用的符号。
如何用二进制写你的名字?
要用二进制写你的名字,将每个字母转换为其ASCII十进制值,然后将该数字转换为8位二进制。例如,名字"Sam"为:S = 83 = 01010011,a = 97 = 01100001,m = 109 = 01101101。完整的二进制表示为01010011 01100001 01101101。字节之间的空格是可选的,但提高了可读性。
一个字符需要多少位?
在标准ASCII编码中,每个字符需要8位(1字节),尽管基本的128字符集只需要7位。在Unicode UTF-8编码中,字符可以使用1到4字节(8到32位),具体取决于字符。基本拉丁字母使用1字节,许多欧洲和中东文字使用2字节,亚洲字符通常使用3字节,表情符号使用4字节。
字母A的二进制代码是什么?
大写"A"的二进制代码是01000001(ASCII十进制65)。小写"a"是01100001(十进制97)。ASCII中大写和小写字母之间的差值恰好是32(二进制00100000),这意味着翻转第6位可以在大小写之间切换。这种优雅的设计使计算机的大小写转换在计算上非常简单。
二进制能表示所有语言吗?
可以,通过Unicode编码。虽然基本ASCII只涵盖英文字母和常见符号(128个字符),但Unicode支持来自世界上几乎所有书写系统的超过149,000个字符,包括中文、阿拉伯文、印地文、日文、韩文和表情符号。Unicode使用可变长度编码(UTF-8、UTF-16、UTF-32)通过1到4字节的二进制数据表示字符。
01001000 01101001在二进制中是什么意思?
01001000是ASCII码72,代表大写字母"H"。01101001是ASCII码105,代表小写字母"i"。合在一起,01001000 01101001拼写为"Hi"。每个8位二进制组使用ASCII编码标准代表一个字符,其中A=65(01000001)、a=97(01100001)、0=48(00110000)、空格=32(00100000)。
ASCII和Unicode有什么区别?
ASCII(美国信息交换标准代码)使用7位表示128个字符,涵盖英文字母、数字和常见符号。Unicode是ASCII的超集,支持所有书写系统中超过149,000个字符,包括中文、阿拉伯文、表情符号和数学符号。ASCII字符在Unicode中占据0-127的位置,因此任何ASCII文本也是有效的Unicode。本翻译器支持ASCII(每字符8位二进制)和扩展Unicode字符(16位二进制)。
如何在Python中将二进制转换为文本?
在Python中,使用int()配合基数2将二进制转换为十进制数,然后使用chr()获取字符:chr(int("01001000", 2))返回"H"。对于完整的二进制字符串,按空格分割并转换每组:"".join(chr(int(b, 2)) for b in binary_string.split())。要将文本转换为二进制,对每个字符使用format(ord(c), "08b"):" ".join(format(ord(c), "08b") for c in text)。
二进制翻译原理
二进制是一种仅使用两个数字(0 和 1)的二进制数制,是计算机和数字电子设备的基础语言。计算机处理的所有数据——文本、图像、音频和视频——最终都以二进制表示。每个二进制位称为一个比特(bit),8 个比特组成一个字节(byte),可以表示一个 ASCII 字符。
在二进制数中,每个位置代表 2 的幂次。从右到左依次为 2⁰(1)、2¹(2)、2²(4)、2³(8),以此类推。例如,二进制数 01001000 对应十进制 72(64 + 8 = 72),即 ASCII 中的大写字母"H"。
什么是二进制?
二进制是所有数字计算机的原生数制。由于电子电路只有两种稳定状态——导通(1)和截止(0)——所有信息都被编码为比特序列。文本、图像、音频和可执行程序最终都以二进制数据的形式存储和传输。
文本转二进制的转换过程
将文本转换为二进制,需要把每个字符翻译成对应的二进制表示。转换步骤如下:
第一步:字符转 ASCII 码
输入文本中的每个字符映射为其对应的 ASCII(美国信息交换标准代码)数值。例如,字母"A"的 ASCII 值为 65。
第二步:十进制转二进制
ASCII 数值通过逐次除以 2 的方式转换为对应的二进制数。转换结果补齐至 8 位,以保持标准的字节表示。
第三步:合并结果
按顺序将每个字符的二进制值拼接在一起。启用分组显示时,每个 8 位组之间用空格分隔,以提高可读性。
示例:将"Hi"转换为二进制
"H" → ASCII 72 → 01001000
"i" → ASCII 105 → 01101001
结果:01001000 01101001
ASCII 与二进制
ASCII(美国信息交换标准代码)是字符编码标准,定义了文本字符与数值之间的映射关系。标准 ASCII 用 7 位表示 128 个字符(0–127),但实际存储时每个字符占用完整的 8 位字节。该编码包含以下范围:
- **控制字符(0–31):**换行、制表符、回车等不可打印字符
- **可打印字符(32–126):**字母、数字、标点符号和空格
- **大写字母(65–90):**A 至 Z,二进制范围
01000001至01011010 - **小写字母(97–122):**a 至 z,二进制范围
01100001至01111010 - **数字(48–57):**0 至 9,二进制范围
00110000至00111001
对于 ASCII 范围之外的字符(如带重音的字母、表情符号或其他 Unicode 字符),本转换器使用 16 位表示以准确编码扩展字符集。
二进制转文本的转换过程
将二进制转换回文本是编码过程的逆向操作。将二进制字符串拆分为 8 位一组(字节),把每组转换为对应的十进制值,再通过 ASCII 表查找对应字符。
第一步:解析二进制分组
将二进制输入拆分为 8 位一组。组间空格为可选——转换器同时支持带空格和连续的二进制输入。
第二步:二进制转十进制
将每个 8 位组转换为十进制值,计算方法为各比特乘以对应位权之和。
第三步:十进制转字符
在 ASCII 表中查找该十进制值对应的字符,依次拼接即可还原文本。
示例:将二进制转换为"OK"
01001111 → 十进制 79 → "O"
01001011 → 十进制 75 → "K"
结果:"OK"
如何读懂二进制代码
二进制是二进制数制,每一位称为一个比特("binary digit"的缩写)。8 个比特组成一个字节,在 ASCII 编码标准中可以表示一个字符。
读取二进制数时,从右到左为每一位分配基于 2 的幂次的位权。最右侧的位是 2⁰(1),下一位是 2¹(2),然后是 2²(4),依此类推,直到字节最左侧的 2⁷(128)。
示例:读取 01001000
| 位置 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| 位权(2 的幂) | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| 比特 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
| 值 | 0 | 64 | 0 | 0 | 8 | 0 | 0 | 0 |
0×128 + 1×64 + 0×32 + 0×16 + 1×8 + 0×4 + 0×2 + 0×1 = 72 = ASCII 中的"H"
只需把比特为 1 的位置的位权相加,忽略比特为 0 的位置。所得十进制数通过 ASCII 表映射到字符——此例中 64 + 8 = 72,ASCII 码 72 对应大写字母"H"。
常用二进制对照表
下表列出常用字符及其对应的二进制表示,方便快速查阅:
| 字符 | ASCII 码 | 二进制 |
|---|---|---|
| A | 65 | 01000001 |
| B | 66 | 01000010 |
| Z | 90 | 01011010 |
| a | 97 | 01100001 |
| b | 98 | 01100010 |
| z | 122 | 01111010 |
| 0 | 48 | 00110000 |
| 1 | 49 | 00110001 |
| 9 | 57 | 00111001 |
| (空格) | 32 | 00100000 |
| ! | 33 | 00100001 |
| @ | 64 | 01000000 |
| # | 35 | 00100011 |
| . | 46 | 00101110 |
| , | 44 | 00101100 |
| ? | 63 | 00111111 |
ASCII 二进制字母表
下表完整列出所有可打印 ASCII 字符(码值 32–126)及其十进制值和 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 |
| < | 60 | 00111100 |
| = | 61 | 00111101 |
| > | 62 | 00111110 |
| ? | 63 | 00111111 |
| @ | 64 | 01000000 |
| A | 65 | 01000001 |
| B | 66 | 01000010 |
| C | 67 | 01000011 |
| D | 68 | 01000100 |
| E | 69 | 01000101 |
| F | 70 | 01000110 |
| G | 71 | 01000111 |
| H | 72 | 01001000 |
| I | 73 | 01001001 |
| J | 74 | 01001010 |
| K | 75 | 01001011 |
| L | 76 | 01001100 |
| M | 77 | 01001101 |
| N | 78 | 01001110 |
| O | 79 | 01001111 |
| P | 80 | 01010000 |
| Q | 81 | 01010001 |
| R | 82 | 01010010 |
| S | 83 | 01010011 |
| T | 84 | 01010100 |
| U | 85 | 01010101 |
| V | 86 | 01010110 |
| W | 87 | 01010111 |
| X | 88 | 01011000 |
| Y | 89 | 01011001 |
| Z | 90 | 01011010 |
| [ | 91 | 01011011 |
| \ | 92 | 01011100 |
| ] | 93 | 01011101 |
| ^ | 94 | 01011110 |
| _ | 95 | 01011111 |
| ` | 96 | 01100000 |
| a | 97 | 01100001 |
| b | 98 | 01100010 |
| c | 99 | 01100011 |
| d | 100 | 01100100 |
| e | 101 | 01100101 |
| f | 102 | 01100110 |
| g | 103 | 01100111 |
| h | 104 | 01101000 |
| i | 105 | 01101001 |
| j | 106 | 01101010 |
| k | 107 | 01101011 |
| l | 108 | 01101100 |
| m | 109 | 01101101 |
| n | 110 | 01101110 |
| o | 111 | 01101111 |
| p | 112 | 01110000 |
| q | 113 | 01110001 |
| r | 114 | 01110010 |
| s | 115 | 01110011 |
| t | 116 | 01110100 |
| u | 117 | 01110101 |
| v | 118 | 01110110 |
| w | 119 | 01110111 |
| x | 120 | 01111000 |
| y | 121 | 01111001 |
| z | 122 | 01111010 |
| { | 123 | 01111011 |
| | | 124 | 01111100 |
| } | 125 | 01111101 |
| ~ | 126 | 01111110 |
该表涵盖全部 95 个可打印 ASCII 字符(码值 32–126),每个字符由恰好 8 个比特(1 字节)表示。
常见单词的二进制表示
以下是一些常见单词及其二进制表示,供快速参考和练习:
| 单词 | 二进制 |
|---|---|
| Hello | 01001000 01100101 01101100 01101100 01101111 |
| Love | 01001100 01101111 01110110 01100101 |
| Yes | 01011001 01100101 01110011 |
| No | 01001110 01101111 |
| Hi | 01001000 01101001 |
| OK | 01001111 01001011 |
每个字母转换为其对应的 8 位 ASCII 二进制值,字节之间的空格用于分隔各字符,提高可读性。
使用场景
- **计算机科学教育:**了解计算机在二进制层面如何存储和处理文本数据
- **编程与调试:**检查文件格式、网络协议和内存转储中的二进制数据
- **数据编码:**处理串行通信、嵌入式系统和物联网设备中的底层数据表示
- **密码学:**在加解密操作中对明文和密文进行比特级分析
- **数字电子:**设计和验证处理字符数据的数字电路
- **网页开发:**理解字符编码问题并调试文本渲染故障
- **CTF 竞赛与解谜:**在夺旗赛和编程谜题中解码二进制编码的信息
相关工具
- 二进制转十进制转换器 — 通过逐步位权说明将二进制数转换为十进制
- 二进制转八进制转换器 — 使用 3 位分组法将二进制数转换为八进制(八进制)
- 十六进制转二进制转换器 — 通过 4 位分组可视化将十六进制数转换为二进制
- 十六进制转文本转换器 — 在十六进制字节序列与可读文本之间相互转换
- 十六进制转十进制转换器 — 将十六进制值转换为十进制数
- 摩斯密码翻译器 — 使用摩斯电码的点和划对信息进行编码和解码