从字符串转换为bytearray时保存字节序列

问题描述 投票:0回答:1

我得到一个由不同类型的消息组成的字符串。我对这个消息感兴趣,这个消息在字符串中出现之前是在format bytearray,但现在来自format str。例如,我需要将001bc5045000043a中获得的str format转换为byteray格式,将此序列中的数字保存为bytearray。

python hex byte
1个回答
0
投票

要将十六进制数字的字符串转换为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))
':'
© www.soinside.com 2019 - 2024. All rights reserved.