二进制和ASCII之间的转换
Binascii模块:用于处理二进制和ASCII编码的二进制表示之间的转换。
- ASCII编码的字符串中的每个字符转换为十六进制(8 bits)表示:
import binascii
a = 'string'
b = binascii.b2a_hex(a.encode()) #python3中需添加encode()
print(b)
输出:b'737472696e67' #‘s’->0x73依次类推
- 字节流转换为字符串
a = b'737472696e67'
b = binascii.a2b_hex(a)
print(b.decode(‘utf-8’))
输出:string #0x73->‘s’依次类推
整数和十六进制之间的转换
- 整数转换为十六进制
print(hex(16))
输出:0x10
- 字符串或数值为整数
int([x,[,base]])
参数:
x:字符串或数值
base:进制
返回:
十进制数值
print(int('2018',10)) 输出:2018
print(int(‘2018’)) 输出:2018 #默认base为10
print(int('10',2)) 输出:2
print(int('10',16)) 输出:16
print(int(0x10)) 输出:16
整数和ASCII之间的转换
- ASCII码表中整数(0~255)转换为单个字符
print(chr(65))
输出:A
- ASCII码表中单个字符转换为整数
print(ord('A'))
输出:65