在0x00十六进制位置上求一个整数python3
>>> command = bytearray()
>>> command.extend(chr(0x00))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: an integer is required
答案 0 :(得分:1)
字节数组由bytes
(b'\x00'
)或字节大小的int
s(0x00
)组成。 chr(0x00)
的结果是一个unicode字符串。
您可以向bytearray.extend
提供a)一个字节字符串或b)一个可迭代的字节大小的整数。这两个都代表bytearray
是“字节序列”。另外,两者都可以使用十六进制表示法。
command.extend(b'\x00')
command.extend([0x00])
如果要添加一个整数,也可以使用bytearray.append
:
command.append(0x00)
由于字符串是可迭代的,因此bytearray.extend
尝试附加其元素。但是,这些也是字符串。因此,出现了预期为整数的错误。