Python的base64模块

本文最后更新于2018年6月3日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

Python的base64模块是用来作base64编解码的。这种编码方式在电子邮件中是很常见的。它可以把不能作为文本显示的二进制数据编码为可显示的文本信息。编码后的文本大小会增大1/3。

闲话不多说,base64模块真正用的上的方法只有8个,分别是encode, decode, encodestring, decodestring, b64encode, b64decode, urlsafe_b64decode, urlsafe_b64encode。他们8个可以两两分为4组:

一、encode和decode一组,专门用来编码和解码文件的,也可以对StringIO里的数据做编解码;

二、encodestring和decodestring一组,专门用来编码和解码字符串

三、b64encode和b64decode一组,用来编码和解码字符串,并且有一个替换符号字符的功能。这个功能是这样的:因为base64编码后的字符除了英文字母和数字外还有三个字符“+ / =”,其中=只是为了补全编码后的字符数为4的整数,而+和/在一些情况下需要被替换掉,b64encode和b64decode正是提供了这样的功能。至于什么情况下+和/需要被替换,最常见的就是对url进行base64编码的时候;

四、urlsafe_b64encode和urlsafe_b64decode一组,这个就是用来专门对url进行base64编解码的,实际上也是调用的前一组函数。

下面看看例子:

上面的encode函数和decode函数的参数其实还可以是文件对象的,那的像这样:

用IPython进行查看的情况如下:

1.encode和decode

2.encodestring和decodestring

3.b64encode和b64decode

4.urlsafe_b64encode和urlsafe_b64decode(调用的也是上面的b64encode和b64decode函数)

 

参考链接:

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/1612.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注