繁体   English   中英

字节数组转换,python3上的整数是必需的错误

[英]Bytearray conversion, integer is required error on python3

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

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

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

您可以使用a)字节字符串或b)可迭代的字节大小整数来提供bytearray.extend 这两个都代表“字节序列”,即字节bytearray 同样,两者都可以使用十六进制表示法。

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

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

command.append(0x00)

由于字符串是可迭代的,因此bytearray.extend尝试附加其元素。 但是,这些也是字符串。 因此,出现了预期为整数的错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM