我得到一个由不同类型的消息组成的字符串。我对这个消息感兴趣,这个消息在字符串中出现之前是在format bytearray
,但现在来自format str
。例如,我需要将001bc5045000043a
中获得的str format
转换为byteray格式,将此序列中的数字保存为bytearray。
要将十六进制数字的字符串转换为bytearray,假设每个字节有两个十六进制数字,请使用bytearray.fromhex:
>>> h = '001bc5045000043a'
>>> ba = bytearray.fromhex(h)
>>> ba
bytearray(b'\x00\x1b\xc5\x04P\x00\x04:')
如果字节在ASCII范围(0-127 / 0 - 0x7f)并且字符是可打印的,则Python将字节表示为等效的ASCII字符,因此0x3a显示为“:”
>>> chr(int('3a', 16))
':'