数据解析时,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'