二进制翻译器

这个二进制翻译器可在文本与二进制代码之间相互转换。输入任意文本即可查看其二进制表示,或粘贴二进制代码(每组 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,二进制范围 0100000101011010
  • **小写字母(97–122):**a 至 z,二进制范围 0110000101111010
  • **数字(48–57):**0 至 9,二进制范围 0011000000111001

对于 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

位置76543210
位权(2 的幂)1286432168421
比特01001000
064008000

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 码二进制
A6501000001
B6601000010
Z9001011010
a9701100001
b9801100010
z12201111010
04800110000
14900110001
95700111001
(空格)3200100000
!3300100001
@6401000000
#3500100011
.4600101110
,4400101100
?6300111111

ASCII 二进制字母表

下表完整列出所有可打印 ASCII 字符(码值 32–126)及其十进制值和 8 位二进制表示。

字符十进制二进制
(空格)3200100000
!3300100001
"3400100010
#3500100011
$3600100100
%3700100101
&3800100110
'3900100111
(4000101000
)4100101001
*4200101010
+4300101011
,4400101100
-4500101101
.4600101110
/4700101111
04800110000
14900110001
25000110010
35100110011
45200110100
55300110101
65400110110
75500110111
85600111000
95700111001
:5800111010
;5900111011
<6000111100
=6100111101
>6200111110
?6300111111
@6401000000
A6501000001
B6601000010
C6701000011
D6801000100
E6901000101
F7001000110
G7101000111
H7201001000
I7301001001
J7401001010
K7501001011
L7601001100
M7701001101
N7801001110
O7901001111
P8001010000
Q8101010001
R8201010010
S8301010011
T8401010100
U8501010101
V8601010110
W8701010111
X8801011000
Y8901011001
Z9001011010
[9101011011
\9201011100
]9301011101
^9401011110
_9501011111
`9601100000
a9701100001
b9801100010
c9901100011
d10001100100
e10101100101
f10201100110
g10301100111
h10401101000
i10501101001
j10601101010
k10701101011
l10801101100
m10901101101
n11001101110
o11101101111
p11201110000
q11301110001
r11401110010
s11501110011
t11601110100
u11701110101
v11801110110
w11901110111
x12001111000
y12101111001
z12201111010
{12301111011
|12401111100
}12501111101
~12601111110

该表涵盖全部 95 个可打印 ASCII 字符(码值 32–126),每个字符由恰好 8 个比特(1 字节)表示。

常见单词的二进制表示

以下是一些常见单词及其二进制表示,供快速参考和练习:

单词二进制
Hello01001000 01100101 01101100 01101100 01101111
Love01001100 01101111 01110110 01100101
Yes01011001 01100101 01110011
No01001110 01101111
Hi01001000 01101001
OK01001111 01001011

每个字母转换为其对应的 8 位 ASCII 二进制值,字节之间的空格用于分隔各字符,提高可读性。

使用场景

  • **计算机科学教育:**了解计算机在二进制层面如何存储和处理文本数据
  • **编程与调试:**检查文件格式、网络协议和内存转储中的二进制数据
  • **数据编码:**处理串行通信、嵌入式系统和物联网设备中的底层数据表示
  • **密码学:**在加解密操作中对明文和密文进行比特级分析
  • **数字电子:**设计和验证处理字符数据的数字电路
  • **网页开发:**理解字符编码问题并调试文本渲染故障
  • **CTF 竞赛与解谜:**在夺旗赛和编程谜题中解码二进制编码的信息

相关工具

相关工具