2

我们正在尝试解码一些嵌入在 txt 文件中的 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 中对这些进行解码时,不会出现任何类型的错误,并且一切似乎都在正常工作。是什么导致它们无法正确解码?有没有办法在我们处理它们时标记它?

4

2 回答 2

1
>>> uu.decode(open('0000000000-11-005978.txt'))
Warning: Trailing garbage

源数据本身已损坏。..行的开头附近的结尾处进一步证明了这一点。

于 2011-08-01T20:44:38.373 回答
0
$ python -c "import urllib2; print len(urllib2.urlopen('http://www.sec.gov/Archives/edgar/data/914257/000000000011005978/0000000000-11-005978.txt').read().decode('uu'))"
43124

工作得很好。

于 2011-08-01T20:45:16.843 回答