Как обнаружить открытый текст в файле MIME? - PullRequest
1 голос
/ 17 сентября 2010

У меня есть большой набор файлов MIME, которые содержат несколько частей. Многие из файлов содержат части, помеченные следующими заголовками:

Тип содержимого: поток приложения / октета

Content-Transfer-Encoding: Binary

Однако иногда содержимое этих частей представляет собой некоторую форму двоичного кода, а иногда они представляют собой открытый текст.

Есть ли в C ++, Bash или Ruby умный способ определить, является ли содержимое части MIME, помеченной как поток приложения / октет, двоичными данными или открытым текстом?

Спасибо, Rik

Ответы [ 2 ]

1 голос
/ 17 сентября 2010

Опция -I grep будет обрабатывать двоичные файлы как файлы без совпадений. В сочетании с параметром -q grep вернет ненулевой статус выхода, если файл является двоичным.

if grep -qI -e '' <file>
then
        # plaintext
else
        # binary
fi
0 голосов
/ 21 сентября 2010

Самый простой способ - разделить файл на несколько файлов, каждый из которых содержит одну из составных частей. Затем мы можем использовать grep и другие функции для определения формата текста.

...