字符与进制转换

使用libnum模块

import libnum

libnum.s2n('abc')                      # 6382179
type(n)                                # long
hex(libnum.s2n('abcde'))               # 0x616263

libnum.n2s(0x616263)                   # 'abc'

libnum.b2s('011000010110001001100011') # 'abc'
libnum.s2b('abc')                      # 011000010110001001100011
type(libnum.s2b('abc'))                # str

注意:s2n和n2s函数发生了数据类型转换,b2s和s2b输入输出均为字符串


使用binascii模块

import binascii

binascii.b2a_hex('abc')      # 字符串转16进制  '616263'
binascii.hexlify('abc')      # 作用同上
type(h)                      # str

binascii.a2b_hex('616263')   # 16进制转字符串  'abc'
binascii.unhexlify('616263') # 作用同上

binascii.crc32('abc') 计算CRC32冗余校验码
 Python 2.x 的版本中,会计算出负值,所以需加上& 0xffffffff来进行转换,即
crc=binascii.crc32(s)&0xffffffff

注意:binascii模块的函数参数时字符串,输出也是字符串