位置: 编程技术 - 正文
推荐整理分享详解Python中使用base64模块来处理base64编码的方法(python怎么用的),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:python怎么用,python用于,在python中的用法,python用法,python中的用法,python怎么用的,python的用法,python用法,内容如对您有帮助,希望把文章链接给更多的朋友!
base模块是用来作base编码解码的。这种编码方式在电子邮件中是很常见的。它可以把不能作为文本显示的二进制数据编码为可显示的文本信息。编码后的文本大小会增大1/3。
闲话不说了,base模块真正用的上的方法只有8个,分别是encode, decode, encodestring, decodestring, bencode,bdecode, urlsafe_bdecode,urlsafe_bencode。他们8个可以两两分为4组,encode,decode一组,专门用来编码和 解码文件的,也可以对StringIO里的数据做编解码;encodestring,decodestring一组,专门用来编码和解码字符串; bencode和bdecode一组,用来编码和解码字符串,并且有一个替换符号字符的功能。这个功能是这样的:因为base编码后的字符除 了英文字母和数字外还有三个字符 + / =, 其中=只是为了补全编码后的字符数为4的整数,而+和/在一些情况下需要被替换的,bencode和bdecode正是提供了这样的功能。至于什 么情况下+和/需要被替换,最常见的就是对url进行base编码的时候。urlsafe_bencode和urlsafe_bdecode 一组,这个就是用来专门对url进行base编解码的,实际上也是调用的前一组函数。
基本用法首先准备一个个字符的数组[‘A','B','C', … , ‘1', ‘2', … , ‘+']然后对二进制数据进行处理, 每三个字节(byte)一组, 一共是3x8=, 划为4组,每组6bit.这样我们得到4个数字作为索引, 然后查表获得相应的4个字符, 就是编码后的字符串.如果编码的二进制数不是3的倍数怎么办,base在x在末尾不足后,在代码的末尾添加1~2个=号,解码是自动去掉
会把少的字符用=号补上
可以解码得到原有的字符串
urlsafe_bencode 和 urlsafe_bdecode
base的还提供用于url的编码方法urlsafe_bencode 和urlsafe_bdecode.
因为base编码后+和-可能会出现在字符中,所以通过urlsafe的方法把+转换为-,/转化为_.
由于=字符也可能出现在Base编码中,但=用在URL Cookie里面会造成歧义,很多Base编码后会把=去掉.去掉=后怎么解码呢?因为Base是把3个字节变为4个字节,所以Base编码的长度永远是4的倍数.因此需要加上=把Base字符串的长度变为4的倍数,就可以正常解码了.
综合示例
上面的encode函数和decode函数的参数其实还可以是文件对象的,那的象这样:
Python使用email模块对邮件进行编码和解码的实例教程 解码邮件python自带的email模块是个很有意思的东西,它可以对邮件编码解码,用来处理邮件非常好用。处理邮件是一个很细致的工作,尤其是解码邮件,
Python设置默认编码为utf8的方法 本文实例讲述了Python设置默认编码为utf8的方法。分享给大家供大家参考,具体如下:这是Python的编码问题,设置python的默认编码为utf8python安装目录:/et
Python内置数据结构与操作符的练习题集锦 第一题:giveyoutwovaraandb,printthevalueofa+b,justdoit!根据提议,给出两个变量a和b并打印出a+b的值.a,b=1,2printa+b当然也可以这么做a=1b=2printa+b第二题:给你一个list,如
标签: python怎么用的
本文链接地址:https://www.jiuchutong.com/biancheng/387015.html 转载请保留说明!友情链接: 武汉网站建设