在Python中处理B64编码数据

时间:2012-04-05 10:21:35

标签: python

在我的基于Google App Engine的应用中,我从SOAP Web服务获取数据。 问题是其中一个标签包含二进制64编码数据。我用

解码它
decodedStr = base64.b64decode(str(content))

似乎解码没有正确完成我在decodeStr中获取垃圾数据。我认为问题是内容字符串被错误地解析为unicode字符串而不是简单字节字符串

任何Python专家都可以告诉我如何在Python中处理b64编码数据吗?

目前我正在使用此解决方法

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

2 个答案:

答案 0 :(得分:0)

您可以尝试使用base64.decodestring,或者如果您传递了url base64.urlsafe_b64decode。 确保数据不在base16或base32中。

答案 1 :(得分:0)

奇怪。如果内容不是b64编码,则解码调用应引发TypeError异常。我认为这没有发生?

这会让我想知道你怎么知道得到的decodeStr不是你的追求?