Bytearray转换,python3上需要整数错误

2024-04-26 00:59:30 发布

您现在位置:Python中文网/ 问答频道 /正文

在0x00十六进制位置请求整数,python3

>>> command = bytearray()
>>> command.extend(chr(0x00))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: an integer is required

Tags: inmoststdinline整数callcommandpython3
1条回答
网友
1楼 · 发布于 2024-04-26 00:59:30

字节数组由bytesb'\x00')或字节大小的ints(0x00)组成。但是,chr(0x00)的结果是一个unicode字符串。在

您可以向bytearray.extend提供a)字节字符串或b)字节大小整数的iterable。这两个都表示“字节序列”,即bytearray。另外,两者都可以用十六进制表示法。在

command.extend(b'\x00')
command.extend([0x00])

如果要添加单个整数,也可以使用bytearray.append

^{pr2}$

由于字符串是iterable,bytearray.extend试图附加其元素。不过,这些也是字符串。因此,出现了一个期望整数的错误。在

相关问题 更多 >