Мы пытаемся декодировать некоторые uuencoded PDF-файлы, которые встроены в текстовый файл.
Проблема, с которой мы столкнулись, заключается в том, что большинство файлов PDF отлично декодируются с использованием библиотеки Python uuencode. Вот код:
try:
decoded_file,m=uudecode(fileString)
except:
decoded_file=''
Однако некоторые файлы не могут быть открыты после их декодирования. Мы получаем сообщение «Произошла ошибка при открытии этого документа. Файл поврежден и не может быть восстановлен».
Единственное, что мы могли найти в Google, это то, что наши файлы могли быть закодированы с использованием base64, а модуль Python uuencoding поддерживает только base32. Есть ли способ определить, был ли он закодирован с использованием base64 или base32?
Вот пример txt-файла со встроенным uuencoded pdf, который мы успешно декодировали:
http://www.sec.gov/Archives/edgar/data/1108046/000000000011020832/0000000000-11-020832.txt
А вот пример того, что не удалось:
http://www.sec.gov/Archives/edgar/data/914257/000000000011005978/0000000000-11-005978.txt
Пока мы декодируем их в Python, никаких ошибок не появляется, и кажется, что все работает как надо. Что может быть причиной их неправильного декодирования? Есть ли способ, которым мы могли бы пометить это, пока мы обрабатываем их?