gpt4 book ai didi

python - “bytes”对象不能被解释为整数

转载 作者:行者123 更新时间:2023-12-02 18:32:11 25 4
gpt4 key购买 nike

我有一个代码片段,它从套接字读取并将所有字节附加到一个数组(这就是它应该如何工作),但是当我执行下面的代码时:

def receiveData:
bytemessage = bytearray()
while True:
b = s.recv(1)
logger.info(str(b))
bytemessage.append(b)

我在“bytemessage.append(b)”所在行收到此错误

'bytes' object cannot be interpreted as an integer Example

我可以记录从套接字读取的所有字节,并且所有字节都是字节格式,如 b'\x01'有人有解决方案吗?

最佳答案

来自文档,bytearray 是 0 <= x < 256 范围内的可变整数序列。您只能附加该范围内的整数。 bytes 对象是同一范围内的整数的不可变数组。所以你可以这样做

bytemessage.append(b[0])

但是您也可以扩展 bytearray,如果您有一个包含多个字节的 bytes 对象,这会很方便。这也有效

bytemessage.extend(b)

这比创建字节对象列表并在最后组合它们更节省空间。就我个人而言,即使只添加一个字节,我也会进行扩展,因为我认为语法不会那么困惑。

关于python - “bytes”对象不能被解释为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69279022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com