极客编程python入门-内建模块base64

时间:2023-01-06 09:02:35


base64


Base64是一种用64个字符来表示任意二进制数据的方法。


用记事本打开exe、jpg、pdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的文本处理软件能处理二进制数据,就需要一个二进制到字符串的转换方法。Base64是一种最常见的二进制编码方法。


Python内置的base64可以直接进行base64的编解码:


>>> import base64
>>> base64.b64encode(b'binary\x00string')
b'YmluYXJ5AHN0cmluZw=='
>>> base64.b64decode(b'YmluYXJ5AHN0cmluZw==')
b'binary\x00string'


1、Base64是一种通过查表的编码方法,不能用于加密,即使使用自定义的编码表也不行。

2、Base64适用于小段内容的编码,比如数字证书签名、Cookie的内容等。

3、由于=字符也可能出现在Base64编码中,但=用在URL、Cookie里面会造成歧义,所以,很多Base64编码后会把=去掉


# 标准Base64:
'abcd' -> 'YWJjZA=='
# 自动去掉=:
'abcd' -> 'YWJjZA'


极客编程python入门-内建模块base64


小结


Base64是一种任意二进制到文本字符串的编码方法,常用于在URL、Cookie、网页中传输少量二进制数据。