位置: 编程技术 - 正文

详解Python中使用base64模块来处理base64编码的方法(python怎么用的)

编辑:rootadmin

推荐整理分享详解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个=号,解码是自动去掉

会把少的字符用=号补上

可以解码得到原有的字符串

详解Python中使用base64模块来处理base64编码的方法(python怎么用的)

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 转载请保留说明!

上一篇:Python画图学习入门教程(怎么用python画图具体步骤)

下一篇:Python使用email模块对邮件进行编码和解码的实例教程(python中email模块)

  • 城市生活垃圾处理收费管理办法
  • 房屋租赁房产税税率是怎样计算的
  • 印花税和增值税一起扣款有影响吗
  • 专票当月认证后什么时候抵扣
  • 建筑行业税负率表2023最新
  • 房地产开发公司注册条件
  • 新会计准则要求
  • 销项税没有进项税多
  • 一般纳税人开技术服务费
  • 小规模专票普票区别
  • 已开票怎么做坏账处理
  • 商业企业做设备维修收入会计分录
  • 成本费用总额包括所得税费用吗
  • 公司聚餐计入福利费还是招待费
  • 增加住房收入
  • 政府奖励资金如何入账
  • 企业收到财政专项资金账务处理
  • 审计完结凭证要盖公章吗
  • 怎样升级智慧中小学版本软件
  • win10系统出现蓝屏恢复
  • 调整以前年度错账如何调整报表
  • 长期股权投资权益法四个明细科目
  • 外购商品可以直接结转成本吗
  • 在win7系统中文件属性有哪些
  • win10怎么关掉
  • 无法访问windows installer服务,没有正确安装
  • vue前端代码实例
  • phpstorm怎么用
  • 一岁宝宝喝红糖姜水
  • 培训公司要交哪些税
  • axios用法示例
  • 企业利息支出怎么算
  • phpcms怎么用
  • 企业转让无形资产取得的收益应计入营业外收入
  • 收到房租不开票账务处理
  • Linux下MySQL卸载和安装图文教程
  • 织梦如何使用
  • 运输服务是什么
  • 管理费用增加是因为什么
  • 待转销项税额转出
  • 纳税申报表期末未缴税额什么意思
  • 待抵扣进项税额是二级还是三级
  • 退回的以前年度的附加怎么申报
  • 小规模纳税人是季度报税吗
  • 本年利润怎么结转成未分配利润
  • 关于赠品的财务处理
  • 付设备款的会计分录
  • 对方开的增值税普票怎么查
  • 预付费用款项现金流量怎么算
  • 现代服务业包括哪些项目
  • 解析包错误怎么解除
  • 进程中svchost
  • win10系统开机蓝屏怎么修复
  • Windows系统通过注册表实现打开CMD并定位到指定文件夹
  • win8触摸板失灵怎么办
  • Linux一键安装ftp
  • 备份linux命令
  • linux几种安装方式
  • win8适合打游戏吗
  • centos安装zsh
  • win10鼠标怎么换
  • perl-v
  • nodejs实战教程
  • cmd替换文件命令
  • json web key
  • nodejs ghost
  • unity 黑洞
  • node基础知识
  • 面向对象设计六大原则
  • js运行效率
  • python去除文件中的空格
  • jquery插件大全
  • jquery $each
  • 出租车票据国税怎么开
  • 江西省税务局拟录用人员公示
  • 捐赠收入如何交印花税
  • 什么东西的海关不能寄
  • 出口退税需要哪些
  • 湖北省地方税务局公告2014年第7号
  • 国税地税征管体制改革方案全文
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设