数据解析时,python可以相互转换各种数据类型。最近在斯坦福公开课《密码学》网站上面做题发现,我对数据转换很不熟悉,写下日志记下用法。

导航


数字 字符串 字节码
到数字 进制转换 字符转整数 字节串转整数
到字符串 str() 字符串编码解码 decode(‘hex’)
到字节码 数字转字符串 字符串转字节串 no

还有常见的单个字符转换

函数 功能 记忆口诀 备注
chr 数字转成对应的ascii字符 chr长得很像char,因此转成char 范围为0~255
ord 单个字符转对应ascii序号 digit为最后一个字母

进制转换

10进制转16进制:

hex(16)  ==>  0x10

16进制转10进制:

int(STRING,BASE)将字符串STRING转成十进制int,其中STRING的基是base。该函数的第一个参数是字符串

int('0x10', 16)  ==>  16

类似的还有八进制oct(), 二进制bin()

16进制字符串转成二进制

hex_str='00fe'
bin(int('1'+hex_str, 16))[3:]  #含有前导0
# 结果 '0000000011111110'
bin(int(hex_str, 16))[2:]   #忽略前导0
# 结果 '11111110'