如何将二进制转为文本
二进制转文本的核心是将每个 8 位二进制序列转换为对应的 ASCII 字符。
第 1 步: 确保你的二进制已按 8 位字节分组(8 个数字),必要时可在左侧补 0。
第 2 步: 将每个 8 位分组转换为十进制(0-255)。
第 3 步: 将十进制数值映射到对应的 ASCII 字符。
示例: 01001000 = 72 = “H”(对应字符 H)
常见二进制到文本对照
下面是一些常见的二进制转文本示例:
| 二进制 | 文本 | 说明 |
|---|---|---|
01001000 01100101 01101100 01101100 01101111 |
Hello | 5 个 ASCII 字节 |
01010111 01101111 01110010 01101100 01100100 |
World | 可读单词示例 |
01000001 01000010 01000011 |
ABC | 大写字母 |
00110000 00110001 00110010 |
012 | 作为文本字符的数字 |
01000011 01010100 01000110 |
CTF | 谜题和 CTF 检查 |
00100001 00111111 |
!? | 标点符号字节 |
ASCII 二进制参考表
常见 ASCII 字符的二进制表示:
| 字符 | 二进制 | 字符 | 二进制 |
|---|---|---|---|
| A | 01000001 |
a | 01100001 |
| 0 | 00110000 |
1 | 00110001 |
| ! | 00100001 |
空格 | 00100000 |
二进制文本解码规则和排错
二进制文本通常按 8 位一组读取,每个字节映射到一个 ASCII 或 UTF-8 字符。保留字节之间的空格更便于检查,也能减少复制长字符串时的错误。
如果解码结果不正确,先检查每组是否正好有 8 位。缺少前导 0 会改变字节边界,并影响后面的所有字符。
-
01001000 解码为 H,而不是显示给用户的数字 72。
-
00100000 是空格字符,因此解码文本中可能包含不可见分隔符。
-
对于非英文文本,UTF-8 字符可能占用多个字节,需要保留完整字节序列。
什么时候使用二进制转文本解码器
-
解码编程练习、CTF 挑战或课堂示例中的二进制字符串。
-
检查协议文档或二进制载荷说明中的 ASCII 字节示例。
-
讲解字母、数字、标点和空格在字节层面的表示方式。
-
在使用文本转二进制工具转换回去之前验证文本。