struct.unpack导致TypeError:'int'不支持缓冲区接口

4
我将使用Python 3.4中的struct模块,如下所示:

length = struct.unpack('>B', data[34])[0]

data 的格式如下:

b'\x03\x01\x0e}GZ\xa8\x8e!\x1c\x7ft\xe8\xf9G\xbf\xb1\xdf\xbek\x8d\xb3\x05e~]N\x97\xad\xcaz\x03tP\x00\x00\x1eV\x00\xc0\n\xc0\t\xc0\x13\xc0\x14\xc0\x07\xc0\x11\x003\x002\x009\x00/\x005\x00\n\x00\x05\x00\x04\x01\x00\x00f\x00\x00\x00\x1b\x00\x19\x00\x00\x16parteek.khalsabani.com\xff\x01\x00\x01\x00\x00\n\x00\x08\x00\x06\x00\x17\x00\x18\x00\x19\x00\x0b\x00\x02\x01\x00\x00#\x00\x003t\x00\x00\x00\x10\x00\x1b\x00\x19\x08spdy/3.1\x06spdy/3\x08http/1.1\x00\x05\x00\x05\x01\x00\x00\x00\x00'

我遇到了一个问题:

类型错误:'int'不支持缓冲区接口。

我是 struct 的新手,这是什么问题?

1个回答

8

这是因为你传递给它的是 data[34] 的内容,而这个内容确实是一个 int

尝试使用 data[34:35],这是一个包含一个元素的字节数组。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接