好奇心在这里。我对位图进行了分类,并希望它为文件中的每个字节显示一个 ascii 字符。因此,前几个字符符合预期(BM6),但我进一步注意到它也在终端中显示非 ASCII 字符,如“?”、“?”、“?”等。
为什么是这样?猫在这里做什么?
(我使用的位图的 bitsPerPixel=8,所以它不可能是多字节像素的表示,对吧?)
接下来会发生什么取决于标准输出是什么。如果是终端设备,则行为由终端决定,与无关cat。
当谈到终端的行为时,有几件事很重要:
有一个神话说那里有一个“普通的 ASCII”世界。近半个世纪以来,情况并非如此。如今,您几乎永远不会遇到只查看实际 ASCII 的情况。
在抓手上,通过将位图打印到终端来查看位图cat是疯狂的。学习的乐趣hexdump,或od。 根本不cat应该涉及。