0

Google App Engine ベースのアプリで、SOAP Web サービスからデータを取得しています。問題は、タグの 1 つにバイナリ 64 でエンコードされたデータが含まれていることです。を使用してデコードします

decodedStr = base64.b64decode(str(content))

デコードが正しく行われていないようです。decodeStr にガベージ データが含まれています。問題は、コンテンツ文字列が単純なバイト文字列ではなく Unicode 文字列として誤って解析されることだと思います

Python で b64 エンコードされたデータを処理する方法を教えてくれる Python の第一人者はいますか?

今のところ、この回避策を使用しています

fileContent = str(fileContent)
fileContent = fileContent[3:-3]
self.response.out.write(base64.b64decode(fileContent))
4

2 に答える 2

0

base64.decodestring を使用してみるか、URL base64.urlsafe_b64decode が渡された場合は試してみてください。データが base16 または base32 でないことを確認してください。

于 2012-04-05T10:25:32.700 に答える
0

変。コンテンツが b64 でエンコードされていない場合、decode の呼び出しで TypeError 例外が発生します。私はそれが起こっていないと思いますか?

結果の decodedStr があなたの後ではないことをどのように知っているのでしょうか?

于 2012-04-05T11:00:10.917 に答える