首页 > 解决方案 > 二进制文件中 ASCII 数据结束的提示

问题描述

我正在开发一种以二进制文件格式存储其数据的软件。但是,出于对可能会cat检查此类文件内容的无辜 shell 用户的礼貌,我正在考虑在文件的开头使用一个与 ASCII 兼容的“魔术字符串”,以告知二进制文件的名称和版本格式。

我正在考虑在消息中至少包含十行(\n),以便head默认设置不会命中二进制部分。

现在,我想知道是否有任何控制字符或转义码会向 shell 提示以下内容不可解释为可打印文本,而应该被忽略?我尝试0x00了 (null byte) 和(ctrl-D) 但在ting 文件0x04时它们似乎只是被忽略了。cat

标签: shellunixbinaryasciibinaryfiles

解决方案


Cat 将文件视为文本。您无法触发文件结尾,因为 EOF 实际上不是任何字符。

当然,反过来也行;指定仅从某个字符开始读取二进制格式的格式。


推荐阅读