我有一大堆MIME文件,其中包含多个部分。许多文件包含标有以下标题的部分:
Content-Type:application / octet stream
内容传输编码:二进制
但是,有时这些部分的内容是某种形式的二进制代码,有时它们是纯文本。
在C ++,Bash或Ruby中是否有一种聪明的方法来检测标记为application / octet stream的MIME部分的内容是二进制数据还是纯文本?
谢谢, 瑞克
答案 0 :(得分:1)
grep的-I选项会将二进制文件视为没有匹配项的文件。结合-q选项,如果文件是二进制文件,grep将返回非零退出状态。
if grep -qI -e '' <file>
then
# plaintext
else
# binary
fi
答案 1 :(得分:0)
最简单的方法是将文件拆分为一组多个文件,每个文件都包含一个组件部分。然后我们可以使用grep和其他函数来确定文本格式。