标签:utf-8 bin body lan python版本 hex 长度 htm 没有
转载请标明出处(http://blog.csdn.net/lis_12/article/details/52785755).
主要用于二进制和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) | 与上面相反 |
注:一行数据最多45个字节.
#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
‘‘‘
参考链接:
标签:utf-8 bin body lan python版本 hex 长度 htm 没有
原文地址:http://www.cnblogs.com/xywq/p/7594280.html