【发布时间】:2017-11-30 18:59:12
【问题描述】:
我正在尝试使用 python 使用以下简单代码对相同的图像文件进行编码和解码。但是每次输出文件都大于输入文件并且无法打开。这段代码有什么问题?
import base64
with open("img.jpeg", "rb") as image_file:
encoded_string = base64.b64encode(image_file.read())
decoded_string = base64.b64decode(encoded_string)
with open("test_img.jpeg", "w") as image_file2:
image_file2.write(decoded_string);
原始文件:https://filebin.ca/3j6aIDlWEYdV/img.jpeg
结果文件:https://filebin.ca/3j6arBo85Lcg/test_img.jpeg
【问题讨论】:
-
在本地运行此代码会生成与输入文件相同的输出文件。您确定这是您正在运行的代码吗?
-
是的,我只是复制粘贴了我的代码并测试了几次。我的 python 版本是 2.7.13。会不会是问题?
-
我也在运行 2.7.13
-
发现问题了,问题是,应该是写文件中的“wb”。如果我把它改回“w”,那么文件不可读,如果我把它改回“wb”,那么它又可以工作了。