1、什么是Base64
Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2^6=64,所以每6个比特为一个单元,对应某个可打印字符。
3个字节有24个比特,对应于4个Base64单元,即3个字节可由4个可打印字符来表示。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。
2、python中的base64模块
Base64模块真正用得上的方法只有8个,分别是:
encode, decode为一组, 专门用来编码和解码文件的, 也可以对StringIO里的数据做编解码;
encodestring, decodestring为一组,专门用来编码和解码字符串
b64encode, b64decode为一组, 用来编码和解码字符串,并且有一个替换符号字符的功能
因为Base64编码后的字符除了英文字母和数字外还有三个字符' + / =',其中'='只是为了补全编码后的字符数为4的整数,而'+'和'/'在一些情况下需要被替换的,b64encode和b64decode正是提供了这样的功能。至于什么情况下'+'和'/'需要被替换,最常见的就是对url进行Base64编码的时候。
urlsafe_b64decode, urlsafe_b64encode为一组,这个就是用来专门对url进行Base64编解码的,实际上也是调用的前一组函数。
base64.b64encode()将bytes类型数据进行base64编码,返回编码后的bytes类型
base64.b64deocde()将base64编码的bytes类型进行解码,返回解码后的bytes类型
decode的作用是将其他编码的字符串转换成unicode编码
encode的作用是将unicode编码转换成其他编码的字符串
3、Base64有什么使用场景
Base64是一种任意二进制到文本字符串的编码方法,常用于在URL、Cookie、网页中传输少量二进制数据,包括MIME的电子邮件及XML的一些复杂数据
4、base64转换过程
5、python代码实现
import base64
#加密
str1 = "你好"
b = base64.b64encode(str1.encode('utf-8')).decode("utf-8")
print("加密的结果:",b)
#解密
c = base64.b64decode(b.encode("utf-8")).decode("utf-8")
print("解密的结果:",c)
结果:
加密的结果: 5L2g5aW9
解密的结果: 你好
版权归原作者 青春无限坑! 所有, 如有侵权,请联系我们删除。