shell - 二进制文件中 ASCII 数据结束的提示
问题描述
我正在开发一种以二进制文件格式存储其数据的软件。但是,出于对可能会cat
检查此类文件内容的无辜 shell 用户的礼貌,我正在考虑在文件的开头使用一个与 ASCII 兼容的“魔术字符串”,以告知二进制文件的名称和版本格式。
我正在考虑在消息中至少包含十行(\n
),以便head
默认设置不会命中二进制部分。
现在,我想知道是否有任何控制字符或转义码会向 shell 提示以下内容不可解释为可打印文本,而应该被忽略?我尝试0x00
了 (null byte) 和(ctrl-D) 但在ting 文件0x04
时它们似乎只是被忽略了。cat
解决方案
Cat 将文件视为文本。您无法触发文件结尾,因为 EOF 实际上不是任何字符。
当然,反过来也行;指定仅从某个字符开始读取二进制格式的格式。
推荐阅读
- javascript - 如何将 JSON 对象从 Javascript 传递到 Python CGI 脚本
- javascript - 在 Node.js 中声明多个 module.exports,TypeError: Router.use() requires a middleware function but got a Object
- azure - 如何在 Azure 中创建负载均衡器(免费试用)
- spring-boot - Spring批处理集成:java.lang.ClassCastException:org.springframework.integration.file.FileReadingMessageSource 无法转换为 java.io.File
- python-3.x - 名称和数据的多个元组中的数据统计
- asp.net-mvc - 为什么我们在 MVC 表单认证中使用 setAuthCookies
- arrays - Robot Framework - 如何在行列表中获取值
- python - views.py 中的 Order_by BooleanField 不起作用。蟒蛇,姜戈
- blockchain - Corda 中的数字权证
- c - 不同的数据类型:如何将它们全部存储在一个字符串中以及如何为其分配动态内存?