似乎hexdump
或od
都不支持二进制表示中的输出。还有其他内置的方法吗?
我正在尝试在终端上绘制黑/白位图,所以我认为最简单的方法就是在每行之后输出带有换行符的位。
答案 0 :(得分:2)
xxd -b input_file
将为您提供文件的二进制表示形式为1和0。
您可以使用-c
标志来指定要在每个“行”中显示的字节数。
如果您只想要1和0,则可能需要进行一些后处理,因为每行前面都有行号并附加原始二进制数据。
例如,您可以执行以下操作:
xxd -c 4 -b input_file | awk '{print $2 $3 $4 $5}'
获得输出我认为你是在追求。
修改
我注意到后续评论表明您正在尝试代表png
文件。如果您正在对图像进行图形表示,则可能需要研究从图像中自动生成ASCII艺术的算法。
为了好玩,您可以添加以下内容:
xxd -c 4 -b input_file | awk '{print $2 $3 $4 $5}'| sed 's/1/·/g; s/0/ /g'
获得稍微更直观的表示。
答案 1 :(得分:0)
您可以从xxd
开始:
xxd -b input