1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 【Python】Base64编码和解码

【Python】Base64编码和解码

时间:2020-04-19 07:08:23

相关推荐

【Python】Base64编码和解码

Base64编码和解码

Base64 不是加密算法,只是一种编码方式,数据从一种形式转换为另一种形式进行传输/存储。Base64 就是一种基于64个可打印字符来表示二进制数据的方法。

Base64要求把每三个8Bit的字节转换为四个6Bit的字节(38 = 46 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。最后,用一个码表来得到我们想要的字符串,这就是 Base64编码。

码表:

Python 中集成了base64 模块,可用于对二进制数据进行编码解码操作:

>>> a = "Hello world">>> b = base64.encode(a)Traceback (most recent call last):File "<stdin>", line 1, in <module>TypeError: encode() missing 1 required positional argument: 'output'>>> >>> >>> b = base64.b64encode(a)Traceback (most recent call last):File "<stdin>", line 1, in <module>File "/usr/lib/python3.8/base64.py", line 58, in b64encodeencoded = binascii.b2a_base64(s, newline=False)TypeError: a bytes-like object is required, not 'str'>>> >>> >>> >>> a = b"Hello world">>> b = base64.b64encode(a)>>> bb'SGVsbG8gd29ybGQ='>>> c = base64.b64decode(b)>>> cb'Hello world'>>> d = b.decode('ascii')>>> d'SGVsbG8gd29ybGQ='>>> e = base64.b64decode(d)>>> eb'Hello world'>>>

可以看到使用 base64.b64encode 进行编码时,只能时二进制数据,如果输入时 str 文本,将报错 TypeError。

而使用 base64.b64decode 解码时,字符串和字节床都可以作为输入。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。