Python入门之——binascii模块

用处

主要用于二进制和ASCII互相转换(Convert between binary and ASCII );

包含的函数

函数描述
a2b_uu(string)将以ascii编码的一行数据转化为二进制,并且返回二进制数据.
b2a_uu(data)将二进制数据转化为一行以ascii编码的字符,date的最大长度为45.
a2b_base64(string)将一块base64的数据转换为二进制数据,并返回该二进制数据
b2a_base64(string)与上面相反
a2b_qp(string[, header])quoted-printable data->bin,并返回
b2a_qp(data[, quotetabs, istext, header])与上面相反
a2b_hqx(string)binhex4格式化的ASCII数据转换为二进制,没有做RLE解压.
b2a_hqx(data)与上相反
rledecode_hqx(data)按照binhex4标准,对data执行RLE解压
rlecode_hqx(data)对data执行binhex方式的压缩,并返回结果
crc_hqx(data, crc)计算data的binhex4的crc值
crc32(data[, crc])根据crc,计算crc32(32位检验和数据,然后将结果&0xffffffff(为了在所有Python版本中生成相同的结果,具体不清楚,求指导…)
b2a_hex(data)返回二进制数据的16进制的表现形式
a2b_hex(data)与上面相反
hexlify(data)返回二进制数据的16进制的表现形式
unhexlify(hexstr)与上面相反

相关内置函数

chr():把一个整形转换成ASCII码表中对应的单个字符
ord():把ASCII码表中的字符转换成对应的整形
hex():把十进制转换成16进制字符
oct():把十进制转换成八进制字符
bin():把十进制整形转换成二进制字符
code,使用示例

#coding:utf-8
import binascii
a = 'hello world'
#先把a转换成二进制数据然后在用十六进制表示
b = binascii.b2a_hex(a)
c = binascii.hexlify(a)#和a2b_hex()功能是一样的,但是推荐用这个函数,具体不清楚= =
print '{0:10s}'.format('b2a_hex'),
for i in range(0,len(b),2):
    print b[i:i+2],
print
#到这是不是发现了,利用b2a_hex()返回的字符串长度为原串的两倍,因为转换为十六进制,一个字节用两个字节表示了
print '{0:10s}'.format('hexlify'),
for i in range(0,len(c),2):
    print c[i:i+2],   
print
print '{0:10s}'.format('ord'),
for i in a:
    print hex(ord(i))[2:],#手动转换为二进制十六进制
print


#与b2a_hex相反
print binascii.a2b_hex(b)
print binascii.unhexlify(c)
'''
result:
b2a_hex    68 65 6c 6c 6f 20 77 6f 72 6c 64
hexlify    68 65 6c 6c 6f 20 77 6f 72 6c 64
ord        68 65 6c 6c 6f 20 77 6f 72 6c 64
hello world
hello world
'''

参考链接:

https://docs.python.org/2/library/binascii.html#module-binascii
http://zeping.blog.51cto.com/6140112/1261876
http://www.oschina.net/question/565065_138907

  • 9
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值