引言:由于某些系统中只能使用ASCII字符。base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。而且base64特别适合在http,mime协议下快速传输数据。
简介:base64模块可以实现图片,音频,视频等格式与字符之间进行相互转化,同时用来作base64编码解码,它是一个内置模块,通过import base64直接使用。
转化方面:
图片,音频,视频 >> 字符编码:b64encode() # 编码
字符编码 >> 图片,音频,视频:b64decode() # 解码
源码:图片,音频,视频和字符编码,相互转换。
import base64
# 图片,音频,视频 >> 字符编码
# my_file = "w3.wav" # 音频
# my_file = "t1.ts" # 视频
my_file = "pic.png" # 图片
with open(my_file, mode="rb") as f: # 注意是rb模式
base64_data = base64.b64encode(f.read())
print(type(base64_data)) # <class 'bytes'>
print(base64_data)
data = b'/9j/xxxxx' # 是上面的base64_data。 过长,进行了删除。
# 字符编码 >> 图片,音频,视频
new_file = "a.png"
with open(new_file, "wb") as f: # 注意是wb模式
f.write(base64.b64decode(data)) # b64decode解码
base64模块加密,解密:
import base64
a = "This is a test."
bs = str(base64.b64encode(a.encode('utf-8')), "utf-8")
# 转码:VGhpcyBpcyBhIHRlc3Qu
print('转码:' + bs)
# 解码:This is a test.
print('解码:'+str(base64.b64decode(bs), "utf-8"))
以上,即base64模块案例说明。
微信公众号:玩转测试开发
欢迎关注,共同进步,谢谢!
网友评论