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

Dar*_*ius 3 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()
Run Code Online (Sandbox Code Playgroud)

谢谢.

msw*_*msw 5

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

open('example_label.pdf', 'wb')
Run Code Online (Sandbox Code Playgroud)

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

$ md5sum example_label.pdf 
bd9a4e16d45fe01bfc77a2af6afe1b8b  example_label.pdf
$ sha1sum example_label.pdf 
a9b77217793ef05f212b0619248480411f6ed4a1  example_label.pdf
Run Code Online (Sandbox Code Playgroud)

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