python3从零学习-5.7.3、binascii—二进制和 ASCII 码互转
off999 2024-11-06 11:28 47 浏览 0 评论
binascii 模块包含很多在二进制和二进制表示的各种ASCII码之间转换的方法。 通常情况不会直接使用这些函数,而是使用像 uu , base64 ,或 binhex 这样的封装模块。 为了执行效率高,binascii 模块含有许多用 C 写的低级函数,这些底层函数被一些高级模块所使用。
binascii 模块定义了以下函数:
- binascii.a2b_uu(string)
将单行 uu 编码数据转换成二进制数据并返回。uu 编码每行的数据通常包含45 个(二进制)字节,最后一行除外。每行数据后面可能跟有空格。
- binascii.b2a_uu(data)
Convert binary data to a line of ASCII characters, the return value is the converted line, including a newline char. The length of data should be at most 45.
- binascii.a2b_base64(string)
将 base64 数据块转换成二进制并以二进制数据形式返回。一次可以传递多行数据。
- binascii.b2a_base64(data, *, newline=True)
将二进制数据转换为一行用 base64 编码的ASCII字符串。返回值是转换后的行数据,如果 newline 为true,则返回值包括换行符。该函数的输出符合:rfc:3548。
在 3.6 版更改: 增加 newline 形参。
- binascii.a2b_qp(data, header=False)
将一个引号可打印的数据块转换成二进制数据并返回。一次可以转换多行。如果可选参数 header 存在且为true,则数据中的下划线将被解码成空格。
- binascii.b2a_qp(data, quotetabs=False, istext=True, header=False)
将二进制数据转换为一行或多行带引号可打印编码的ASCII字符串。返回值是转换后的行数据。如果可选参数 quotetabs 存在且为真值,则对所有制表符和空格进行编码。如果可选参数 istext 存在且为真值,则不对新行进行编码,但将对尾随空格进行编码。如果可选参数 header 存在且为true,则空格将被编码为下划线 RFC 1522。如果可选参数 header 存在且为假值,则也会对换行符进行编码;不进行换行转换编码可能会破坏二进制数据流。
- binascii.a2b_hqx(string)
将 binhex4 格式的 ASCII 数据不进行 RLE 解压缩直接转换为二进制数据。该字符串应包含完整数量的二进制字节,或者(在binhex4 数据最后部分)剩余位为零。
- binascii.rledecode_hqx(data)
根据 binhex4 标准对数据执行 RLE 解压缩。该算法在一个字节的数据后使用 0x90 作为重复指示符,然后计数。计数 0 指定字节值 0x90 。该例程返回解压缩的数据,输入数据以孤立的重复指示符结束的情况下,将引发 Incomplete 异常。
在 3.2 版更改: 仅接受 bytestring 或 bytearray 对象作为输入。
- binascii.rlecode_hqx(data)
在 data 上执行 binhex4 游程编码压缩并返回结果。
- binascii.b2a_hqx(data)
执行 hexbin4 类型二进制到 ASCII 码的转换并返回结果字符串。输入数据应经过 RLE 编码,且数据长度可被3整除(除了最后一个片段)。
- binascii.crc_hqx(data, value)
以 value 作为初始 CRC 计算 data 的16位 CRC 值,返回其结果。这里使用 CRC-CCITT 生成多项式 x16 + x12 + x5 + 1 ,通常表示为0x1021。该 CRC 被用于 binhex4 格式。
- binascii.crc32(data[, value])
计算 CRC-32 ,从 value 的初始 CRC 开始计算 data 的32位校验和。默认初始 CRC 为零。该算法与 ZIP 文件校验和一致。由于该算法被设计用作校验和算法,因此不适合用作通用散列算法。使用方法如下:
print(binascii.crc32(b"hello world"))
# Or, in two pieces:
crc = binascii.crc32(b"hello")
crc = binascii.crc32(b" world", crc)
print('crc32 = {:#010x}'.format(crc))在 3.0 版更改: 校验结果始终是无符号类型的。要在所有Python版本和平台上生成相同的数值,请使用 crc32(data) & 0xffffffff 。
- binascii.b2a_hex(data)
- binascii.hexlify(data)
返回二进制数据 data 的十六进制表示形式。 data 的每个字节都被转换为相应的2位十六进制表示形式。因此返回的字节对象的长度是 data 的两倍。
- binascii.a2b_hex(hexstr)
- binascii.unhexlify(hexstr)
返回由十六进制字符串 hexstr 表示的二进制数据。此函数功能与 b2a_hex() 相反。 hexstr 必须包含偶数个十六进制数字(可以是大写或小写),否则会引发 Error 异常。
- exception binascii.Error
通常是因为编程错误引发的异常。
- exception binascii.Incomplete
数据不完整引发的异常。通常不是编程错误导致的,可以通过读取更多的数据并再次尝试来处理该异常。
相关推荐
- 下载免费的小说(免费下载小说软件推荐)
-
http://www.ziweishuwu.comhttp://www.txtbook.com.cn/https://www.xiashutxt.com/https://www.jjxs.la/都可以...
- 安装播放器 app下载(安装播放器软件)
-
1.首先,打开浏览器,访问播放器官网,找到下载地址,点击下载。2.点击下载后,会弹出一个提示框,点击“保存”,然后把文件保存到本地磁盘。3.打开保存的文件,双击运行安装程序,按照提示安装播放器。4.安...
- 游戏蜂窝(游戏蜂窝免root)
-
人人蜂窝和游戏蜂窝有以下几点区别:1.目标用户不同:人人蜂窝是一家提供移动网络服务的运营商,主要面向一般用户提供通信服务;而游戏蜂窝是一个游戏信息平台,主要为游戏爱好者提供游戏相关资讯和社交互动。2...
- 正版win7旗舰版官网(win7旗舰版官方)
-
从来就没有win7官网这样的说法,这是因为win7本身就是微软公司旗下产品,是Windows系统的一个版本而已,并不存在win7官网,当然主要的相关资源还是可以到微软官网去查找下载。首先,官网下载的W...
- 打米传奇手游可提现(打米传奇手游怎么提现)
-
个人感觉有些传奇游戏还是可以提现的,也就是现在所谓的搬砖服,不过想要提现也是需要付出的,普通的游戏玩家一天可以得到的收益并不是很高。想要获得高额收益是需要投资的。个人建议投资之前最好先观望一下,免的造...
- 虚拟号码发送短信平台(虚拟手机号收短信平台)
-
用虚拟手机号给别人发送短信的方法如下1、下载安装定时达人软件(安卓手机端),进入首页,点击下部的“添加新任务”,左边选择“通信”项。2、这时就可以看到右边的“虚拟电话”和“虚拟短信”选项。3、点击进入...
- 免费阅读软件(一念永恒小说免费阅读软件)
-
追书免费全本小说、追书神器免费版、易追书、全本追书阅读器等软件都是比较好用的免费读书软件。具体介绍如下: 1、追书免费全本小说,免费阅读热门网络小说; 2、追书神器免费版,有海量的书库,更...
- qq聊天软件免费下载安装(qq聊天应用下载)
-
首先右击你想下载的聊天记录的好友头像,这时把鼠标放到“聊天记录”上,你会看到三个选项,点击“查看聊天记录”,进入“信息管理器”界面。界面分为两部分,左边是你的好友名单,右边是详细的聊天记录,同...
- 下载官方浏览器(下载官方浏览器安装到桌面)
-
当我们在使用ie浏览器时或是操作电脑时,由于偶尔的不小心或是误点了某些安全提示,可能会导致ie浏览器无法使用下载功能,而导致ie浏览器无法下载文件和软件。首先我们来确认是安全软件阻止还是防火墙阻止还是...
- 万能种子搜索神器app(万能种子搜索神器2.9.9)
-
你好,万能播放器是一款功能强大的音视频播放软件,通常需要购买激活码或者注册码来激活使用。具体的激活方式可能因软件版本和开发者而异,以下是一般的激活步骤:1.购买激活码:前往官方网站或授权渠道购买激活...
- word免费版电脑版(word office免费版)
-
不同版本也不一样1.目前电脑中office365是订阅制,没有永久免费的政策。office2016与office2019可以永久激活使用。2、永久激活版本在电脑中只要自带office2016或者off...
- 可以免费下载音乐的app(可以免费下载音乐的软件并传到U盘)
-
目前市场上有不少免费的音乐下载软件,比如QQ音乐、网易云音乐等。这些免费的音乐下载软件一般会提供不同种类的音乐,从流行歌曲到经典老歌都可以找到,除此之外,这些软件还会针对用户进行推荐,根据用户的音乐口...
- office2007免安装绿色版(office2007绿色完整版)
-
把你的绿色版删除!附件的压缩包里有微软提供的卸载程序!运行一遍就可以了!office2007哪个版本好?针对office2007哪个版本好,office2007的版本主要有office2007官方下载...
- 魔兽官方对战平台(魔兽官方对战平台什么时候回归)
-
魔兽争霸的对战平台每个时间段都不一样。以前最后的就是浩方队员平台,还有QQ对战平台,后来又出来了vs对战平台。其中开始的浩方平台高手多,后来vs平台出来后大量高手都跑过去了,QQ平台一般菜鸟比较多。...
- 三国策略手游(三国策略手游试玩)
-
率土之滨官方版是一款超级好玩的全新策略三国竞技冒险手游,高清质风格的游戏画面能够带你体验全新的策略战斗,高度自由的竞技玩法,玩家可以在游戏中打造属于自己的三国世界1、《极无双》:3D动作军团征战手游《...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
Python 批量卸载关联包 pip-autoremove
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
