base64 其实不能归属密码领域,作用也不是用于加密,它是一种编码算法
。数据要在操作系统上显示
或者传输
,数据的格式就必须符合操作系统的字符集
,参考 - Python 字符编码。我们通过记事本打开一张图片,一整片的乱码。那是因为图片是二进制
的格式,它既不是ASCII 字符集
,也不是unicode 字符集
,操作系统无法理解,所有不能正常显示,也不能转换成 utf-8
传输。base64
的用途就在这,它基于一套规则算法,把二进制的数据转换成字符串,让我们能显示或者传输二进制的数据。
# 编码
>>> base64.b64encode(b'/x01') # 想象它是一张图片,编码成 base64 之后,就能进行传输
b'L3gwMQ=='
# 解码
>>> base64.b64decode(b'L3gwMQ==') # 传输成功之后,在把解码回来变成一张图片
b'/x01'