二进制解码器支持哪些格式?
二进制解码器的作用是把编码后的字节还原成可读文字。字节可以用不同的进制来写,本工具支持所有常见格式。下面是同一段文字「你好」在各种格式下的写法:
| 格式 | 基数 | 编码结果 |
|---|---|---|
| 二进制 | 以 2 为底 | 11100100 10111101 10100000 11100101 10100101 10111101 |
| 八进制 | 以 8 为底 | 344 275 240 345 245 275 |
| 十进制 | 以 10 为底 | 228 189 160 229 165 189 |
| 十六进制 | 以 16 为底 | E4 BD A0 E5 A5 BD |
| Base64 | 64 个字符 | 5L2g5aW9 |
二进制、八进制、十进制和十六进制都是每个字节写一个数,区别只在进制;其中十六进制最紧凑,每个字节两位。Base64 的原理不同:它把每 3 个字节打包成 4 个字符,所以更短,而且可以安全地放进邮件、网址和 JSON 里。
自动识别是怎么判断的?
把「输入格式」设为「自动识别」时,解码器会按以下顺序,选择第一个符合的格式:
- 二进制:每组都只有 0 和 1。
- 十六进制:每组都是十六进制数字,并且带有
0x前缀、含有字母 A–F、每组正好两位,或是一整串偶数长度的数字。 - 十进制:每组都是 0 到 255 之间的数字。
- Base64:只包含 Base64 字符,长度符合 Base64 规则,或以
=结尾。
输入框上方会显示识别出的格式。有些输入本身就有歧义,比如 48 69既是合法的十六进制,也是合法的十进制。自动识别会按十六进制处理,因为十六进制的字节总是两位。如果判断错了,在「输入格式」里手动选择即可。八进制的字节看起来和十进制一样,所以不会被自动识别,需要手动选择「八进制」。
哪些场景会遇到编码文本?
- 解谜和 CTF 比赛:常常层层嵌套编码,比如 Base64 解出十六进制,再解出文字。解码、交换、再解码即可。
- 网络抓包和文件内容:通常以十六进制显示字节。粘贴一段十六进制,就能看出里面有没有可读文字。
- 邮件、网址和接口数据:常用 Base64 传输文字和附件,包括用
-和_的 URL 安全变体,解码器都能识别。 - 源代码:字节常写成
0x48或0b01001000,两种前缀都支持。
解码小技巧
- 如果结果无法阅读或出现 �,这些字节可能本来就不是文字,而是图片、压缩数据或加密数据。
- 用交换按钮把结果重新编码,和原始输入对比,可以快速核对。进制会保持不变;Base64 输入会改为以二进制重新编码。
- 只有二进制?用专门的二进制转文字工具,它对 7 位分组等写法做了优化。
常见问题
解码器怎么知道我粘贴的是哪种格式?
自动识别会依次判断:只有 0 和 1 是二进制;含十六进制字母、0x 前缀或两位一组的是十六进制;不超过 255 的数字是十进制;其余按 Base64 处理。你也可以随时手动指定格式。
"48 69" 是十六进制还是十进制?
两种都有可能。自动识别会把两位一组的数字当作十六进制,结果是 "Hi";如果你指的是十进制,把「输入格式」设为十进制,结果就是字符 0 和 E。
Base64 是什么?
Base64 用 64 个安全字符(A–Z、a–z、0–9、+ 和 /)来表示字节,方便二进制数据通过邮件或网址传输。"Hi" 的 Base64 是 SGk=。
能解码不是文字的二进制吗?
能解出字节,但如果它们是图片、文件或加密数据,结果就无法阅读,并会提示不是有效的 UTF-8。