1、初始化一个空字节串
bytes_str = bytes()
或者
bytes_str = b''
2、创建一个字节串:
payload = b'\x61\x62\x63\x64\x65\x66\x67\x68'
转义字符\x 表示十六进制数,后面必须跟着两个十六进制数
3、将10进制数转换成单个字节的字节串
import six
b = six.int2byte(255) # 10进制数的取值范围是[0, 255]
print(b) # b'\xff'
4、icmp_packet.original 可以将报文转换成字节串
icmp_packet.original.hex() 可以将报文转换成十六进制数形式的字符串,例如:
'9f16b7670a94f877b2aa440ae28b41ad6d83ea67915bdee068e0f2968f5f05aa4f'
5、hex() 函数可以将一个10进制数转换成十六进制数形式的字符串。例如:
a = hex(256)
print(a) # 0x100
print(type(a)) # <class 'str'>
6、将字节串转化成一个十进制数。例如
a = b'\xb5\xd4'
checkSum = binascii.b2a_hex(a) # ==> b'b5d4'
print(int(checkSum, 16)) # base=16 要求checkSum是十六进制数组成的字符(节)串
结果为46548 , 而 十六进制数0xb5d4 转化成十进制等于46548