簡體   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