2

txt ファイルに埋め込まれている uuencode された PDF ファイルをデコードしようとしています。

私たちが抱えている問題は、ほとんどの PDF ファイルが Python の uuencode ライブラリを使用してうまくデコードされたことです。コードは次のとおりです。

try:
    decoded_file,m=uudecode(fileString)
except:
    decoded_file=''

ただし、一部のファイルはデコード後に開くことができません。「このドキュメントを開くときにエラーが発生しました。ファイルが破損しているため、修復できませんでした。」というメッセージが表示されます。

Google で見つけた唯一のことは、ファイルが base64 を使用してエンコードされている可能性があり、Python uuencoding モジュールが base32 のみをサポートしていることです。base64 と base32 のどちらを使用して uuencode されているかを確認する方法はありますか?

正常にデコードされた uuencoded pdf が埋め込まれた 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 に答える