Base64是一种用64个字符来表示任意二进制数据的方法。
示例代码1:
from base64 import b64encode, b64decode
with open(r'./text.txt', 'rb') as f: # 此处不能使用encoding='utf-8', 否则报错
base64_data = b64encode(f.read()) # b64encode是编码
print(base64_data) # 输出生成的base64码,Bytes类型, b'xxxxx'类型的字符串
new_data = b64decode(base64_data)
print(new_data)
运行结果:
示例代码2:
from base64 import b64encode, b64decode
s = 'I love python!'
print(s)
s_encode = s.encode(encoding='utf-8')
print(s_encode)
s_encode_base64 = b64encode(s_encode)
print(s_encode_base64)
s_decode_base64 = b64decode(s_encode_base64)
print(s_decode_base64)
s_decode = s_decode_base64.decode(encoding='utf-8')
print(s_decode)
运行结果:
使用base64对图片数据进行加密:
示例代码3:
import base64
# 读取一张图片,将图片数据转换为base64格式
read_gif = open('./run.gif', 'rb')
read_data = read_gif.read()
print(read_data)
read_gif.close()
base_gif = base64.b64encode(read_data)
print(base_gif)
# data = base_gif.decode('ascii')
data = base_gif.decode()
print(data)
new_data = base64.b64decode(base_gif)
print(new_data)
# 将读取的数据重新写入文件,保存为图片格式
new_run = open('new_run.gif', 'wb')
new_run.write(new_data)
new_run.close()
运行结果: