看来hexdump
或od
似乎都不支持二进制表示中的输出。还有其他内置方式吗?
我试图在终端上画一个黑色/白色位图,所以我认为最简单的方法是在每行之后用线路断裂输出位。
xxd -b input_file
将为您作为文件和零的二进制表示。
您可以使用-c
标志来指定您想要在每个"行"中显示多少个字节。
,如果您只想要这些线和零,则可能需要进行一些后处理,因为每行都用一行编号预先使用,并附加了原始二进制数据。
举例来说,您可以做类似:
的事情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'
获得更多的视觉表示。
您可以从xxd
开始:
xxd -b input