您好,感谢您的阅读。我在使用 base64 解码以前编码的文件时遇到了一些问题。例如,假设我想使用 base64 编码一个 pdf 文件。结果是一个很好的 80 字符分隔的字符串系列。进行编码的代码(摘自此板)既好又简单:
def encode_file_base64(bin_input):
flag = 0
try:
with open(bin_input, 'rb') as fin, open('tmp.bin_hex', 'w') as fout:
base64.encode(fin, fout)
except:
traceback.print_exc()
flag = -1
return flag
现在解码功能:
def decode_file_base64(bin_output):
flag = 0
try:
with open('tmp.bin_hex', 'rb') as fin, open(bin_output, 'w') as fout:
base64.decode(fin, fout)
except:
traceback.print_exc()
flag = -1
return flag
它可以完成这项工作,但是当我尝试打开输出文件时,我无法打开并且文件似乎“损坏”。我一直在努力解决这个问题,我即将放弃。我想我可以使用其他类型的编码,但 BOSS 坚持使用 base64(他一定听说过它是最好的......)。