模块base64.decode产生损坏的pdf base64编码文件

时间:2013-11-13 01:59:55

标签: python base64

当我尝试解码像这样的图像时你好

“example_label.b64”文件在这里(http://ge.tt/27odGly/v/0

我看到损坏的pdf,看起来像base64解码损坏了这个文件。

你能帮帮我吗?

这里是代码示例。

import base64
with open('example_label.b64','r+') as f:
    data = f.read()
    f.close()
# data = data.decode('base64')
#or
data = base64.b64decode(data)
with open('example_label.pdf','w+') as f:
    f.write(data)
    f.close()

谢谢。

1 个答案:

答案 0 :(得分:5)

您的写入模式应指定二进制文件,否则您可能会冒险换行,具体取决于您的平台。那是

open('example_label.pdf', 'wb')

该文件在我的系统上解码得很好,产生了校验和

$ md5sum example_label.pdf 
bd9a4e16d45fe01bfc77a2af6afe1b8b  example_label.pdf
$ sha1sum example_label.pdf 
a9b77217793ef05f212b0619248480411f6ed4a1  example_label.pdf

并且是美国邮政服务标签,其中包含虚拟地址。