在使用bytearray.fromhex()函数时,确保输入的十六进制字符串是正确的格式。每个十六进制数值必须由两位数的十六进制数字组成,中间不能包含空格或其他字符。例如,如果要将字符串“deadbeef”转换为bytearray,应该这样写:
hex_str = 'deadbeef'
byte_array = bytearray.fromhex(hex_str)
如果字符串中包含不正确的字符或格式不正确,bytearray.fromhex()函数将会抛出ValueError异常。
为了避免转换错误,最好使用Python的内置函数binascii.unhexlify()来执行十六进制字符串转换,示例如下:
import binascii
hex_str = 'deadbeef'
byte_array = bytearray(binascii.unhexlify(hex_str))