位置: 编程技术 - 正文

详解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模块)

  • 兴业银行汇款手续费
  • 出口退税免税政策
  • 二手房交易需缴纳的费用
  • 公益事业捐赠的范围是什么
  • 认缴后怎么才算实缴
  • 财政补助结转会计处理
  • 进项税发票留抵
  • 运输企业印花税按什么缴纳
  • 多计提公积金怎么办理
  • 购买方已认证未抵扣,发票用退回吗
  • 海关未抵扣证明
  • 收到补助款的会计分录
  • 供应商转让合同
  • 进项税转出属于什么科目
  • 董事费条款
  • 公司车辆计提是含税还是不含税?
  • 变更办税人需要原办税人去吗
  • 物业费需不需要物价局审批
  • 销售换货怎么做账务处理
  • 股权转让能否低于股价
  • 固定资产发生非正常损失相关题目
  • 加班误餐费应该怎么走账?
  • 盈余公积意思大白话解释
  • 个人缴付年金的扣除限额
  • 公司打白条
  • 个体户生产经营费用与家庭生活费用无法划分
  • 广告公司的成本是什么
  • php写json
  • 运行网络操作系统的设备
  • 怎么增加c盘空间容量
  • win76g内存只有3g可用
  • steam怎么退款申请退款要多久
  • 什么是董事会费
  • 不能报销的发票可以丢掉吗
  • 同步和异步的关系
  • netty websocket心跳
  • 企业销售折扣在计征所得税时如何处理
  • 没进项可以开专票吗
  • php是面向对象编程吗
  • River Avon in Bath, England (© Robert Harding World Imagery/Offset by Shutterstock)
  • get请求与post
  • 前端试题大全及答案
  • opencv讲解
  • js遇到的问题
  • 【机器学习】前置知识:矩阵的表示与定义 | Identity 身份矩阵 | 逆矩阵和转置 | 标量乘法
  • chronyc配置
  • 固定资产报废会计科目处理
  • 企业财务报表有附注吗
  • 银行存款日记账怎么记账
  • linux中mongodb启动
  • 筹建期购买办公用品
  • 利息收入计入借方
  • SQL查询数据库中表的某一列
  • SQL Server 2008用'sa'登录失败,启用'sa'登录的解决办法
  • sql server2005使用方法
  • 科目余额表科目
  • 小规模房地产企业税收优惠政策
  • 政府补助如何会计核算
  • 个体工商户开具房屋租赁发票
  • 上期计提的费用怎么入账
  • 房屋租赁协议印花税怎么计算
  • 企业租赁厂区的管理制度
  • 新注册公司工商如何做印章确认
  • 职工薪酬包括哪四项内容
  • mysql5.6怎么用
  • sql2000 sql2008
  • winxp怎么打印
  • ubuntu中怎么卸载软件
  • mac系统终端命令大全
  • ubuntu虚拟机与windows共享文件
  • win10系统更新后无法开机
  • win8.1 无法连接到此网络
  • linux系统默认启动级别
  • 理解和运用的重要性要站在哪个的视觉去判断
  • 置顶语句子
  • settimeout和setinterval在安卓机无效
  • 长春国税局科员工资是多少
  • 海关进口增值税怎么认证抵扣
  • 浙江国地税联合电子税务局哪里看收到的发票
  • 武汉税务地区编号
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设