'''
base64模块
Base64就是一种基于64个可打印字符来表示二进制数据的方法
-用文本(ascii字符)来表示二进制数
64个字母来表示: A-WXYZ a-z 0-9 + /
0 25 26 51 52 61 62 63
举个例子:
b'abc'
01100001 01100010 01100011 (24位)(每个字节有八位二进制数,abc三个字节,24位二进制数)
011000 010110 001001 100011 (转化为六个二进制数表示一个字节,再找到二进制数代表的数字,对应的相应的字符,即可)
24 22 9 35
Y W J j
-如果字节数不是3的倍数
b'ab' zai 字节的末尾用\x00 ,再到编码末尾加1到2个==
'''
import base64
#base64编码,接收的是字节数据,返回的也是字节数据
info = b'a'
#编码
res = base64.b64encode(info)
print(res)
#解码
data = base64.b64decode(res)
print(data)
'''
输出如下
b'YQ==' (字节只有一个a,所以自动补了两个==)
b'a'
'''
"""
*** base64 编码后,存在+ /,这两个符号在url中是不行的,
如果要对url进行编码,就要使用专门的安全的url编码方式,
本质上,就是将+和/ 用-和_取代!
"""
url = b'\xfb\xff\xbf'
print(base64.b64encode(url))
#下面的是url安全编码方式!
print(base64.urlsafe_b64encode(url))
'''
输出如下:
b'+/+/'
b'-_-_'
'''
基本用法,熟练掌握~