如何查看二进制可执行文件对应的原始0和1序列?
查看二进制文件原始0/1序列的正确方法
cat命令默认将输入按文本编码解析输出,遇到二进制文件中的非可打印字符会显示为乱码或占位符,无法展示原始比特内容,你可以用以下工具实现需求:
方法1:使用xxd(多数Linux、macOS系统默认预装)
- 输出带地址、对应ASCII提示的完整二进制视图:
xxd -b a.out
输出格式默认分为三列:十六进制偏移地址、每8位一组的0/1序列、字节对应的可打印ASCII字符 - 只提取纯0/1字符,无其他附加信息:
xxd -b a.out | awk '{for(i=2;i<=NF-1;i++) printf $i; print ""}'
方法2:使用od(GNU核心工具集自带,兼容性更强)
- 按字节输出二进制内容:
od -t b1 a.out - 直接输出连续无分隔的纯0/1字符串:
od -An -t b1 a.out | tr -d ' \n'
注意事项
二进制文件通常体积较大,直接全量输出0/1序列会占用大量终端资源,建议配合分页工具或者重定向到文件使用,示例:
- 只查看前20行内容:
xxd -b a.out | head -20- 将结果保存到文本文件:
xxd -b a.out > a_out_binary.txt
内容的提问来源于stack exchange,提问作者zell
相关产品推荐
相关产品推荐

