如何检测MIME文件中的纯文本?

时间:2010-09-17 10:01:57

标签: c++ ruby bash content-type mime

我有一大堆MIME文件,其中包含多个部分。许多文件包含标有以下标题的部分:

Content-Type:application / octet stream

内容传输编码:二进制

但是,有时这些部分的内容是某种形式的二进制代码,有时它们是纯文本。

在C ++,Bash或Ruby中是否有一种聪明的方法来检测标记为application / octet stream的MIME部分的内容是二进制数据还是纯文本?

谢谢, 瑞克

2 个答案:

答案 0 :(得分:1)

grep的-I选项会将二进制文件视为没有匹配项的文件。结合-q选项,如果文件是二进制文件,grep将返回非零退出状态。

if grep -qI -e '' <file>
then
        # plaintext
else
        # binary
fi

答案 1 :(得分:0)

最简单的方法是将文件拆分为一组多个文件,每个文件都包含一个组件部分。然后我们可以使用grep和其他函数来确定文本格式。