Python-binascii
Python-binascii
官方文档
1.binascii模块下的函数(uu编码的我就不写了)
binascii.a2b_base64(string):将base64数据块转换成二进制并以二进制数据形式返回,一次可以传递多行数据
binascii.b2a_base64(data,*,newline=True):将二进制数据转换为一行用base64编码的ASCII字符串,返回值是转换后的行数据,如果newline为true,则返回值包括换行符,该函数的输出符合:RFC:3548(一种base编码规则)
binascii.b2a_hex(data[,sep[,bytes_per_sep=1]])和binascii.hexlify(data[,sep[,bytes_per_sep=1]]):返回二进制数据data的十六进制表示形式,data的每个字节都被转换成为对应的2位十六进制表示形式,因此返回的字节对象的长度是data的两倍,如果指定了sep,它必须是单字符str或bytes对象,他被插入每个bytes_per_sep输入字节之后,分隔符位置默认从输出的有段开始计数,如果你希望从左端开始计数,要提供一个负的bytes_per_sep值
binascii.a2b_hex(hexstr)和binascii.unhexlify(hexstr):返回有十六进制字符串hexstr表示的二进制数据,此函数功能与b2a_hex相反,hexstr必须包含偶数个十六进制数字(大小写不限),否则会报错
import binascii
a = b’helloworld’
b = binascii.b2a_hex(a)
print(b)
print(binascii.a2b_hex(b))
c = binascii.hexlify(a) #该功能和b2a_hex()一样
print(c)
print(binascii.unhexlify(c)) #该功能和a2b_hex()一样
#########################运行结果############################
b’68656c6c6f776f726c64′
b’helloworld’
b’68656c6c6f776f726c64′
b’helloworld’
”’
python其他关于转换的内置函数
hex():把整形十进制数转换成十六进制数
1.23.hex():把浮点型转换成十六进制数
hex()与binascii.hexlify()函数的区别就在于hex只能接受整形不能接受字符串
int([x[,base]]):可以对x数值类型进行说明,默认十进制,*后输出十进制数
bin():把十进制整形转换成二进制字符
oct():把十进制整形转换成八进制字符
chr():把一个整型转换成ACSII表种对应的字符,注意该整型的范围在[0,255]之间
ord():把一个ASCII表中对应的字符转换成对应的整形,与chr()刚好相反
注:unichr()是chr()的unicode版本,例如返回的字符a会变为u’a’
”’