图片文件base64编码
2017-09-28 本文已影响0人
第八共同体
1.编码
读取一个文件,然后对其进行base64编码,方便在web网络访问请求时进行传递
import base64
def get_base64_encode(filename):
with open(filename, 'rb') as f:
return base64.b64encode(f.read())
2.解码
def write_file_from_base64(filename, data):
with open(filename, 'wb') as f:
if not isinstance(data, bytes):
data = bytes(data)
f.write(base64.b64decode(data))
3.要说明的是
由于在python2.x中,字符串默认不是以bytes类型的。在base64.b64encode方法进行图片编码后。如果不对结果进行bytes()转换处理,在进行base64.b64decode()解码的时候,参数变成了普通的str类型。处理结果就会受到影响。而在python3中就不存在这样的问题,因为bytes类型的字符串本身就没有默认转为普通str类型的过程,而python2是有这个过程的,所以也是为什么我们要使用bytes进行类型转换这一过程的。