Python struct 以反字节序解压多个字节

Python struct unpack multiple bytes with reverse endianess

所以我有一个包含 N 个字节的缓冲区,我用它读取它们,它有效但与我需要的字节序相反。

buffer=struct.unpack_from( 'h'*(N/2), databuff)

我注意到字节序是相反的,所以我想尝试字节序,我使用了这个

buffer=struct.unpack_from( '<h'*(N/2), databuff)

但是我得到这个错误:

>>>buffer=struct.unpack_from( '<h'*1344, databuff) struct.error: bad char in struct format

如何反转多个字节的字节顺序?

您在格式中指定了字节序at most once,所以写

buffer=struct.unpack_from('<'+'h'*(N//2), databuff)

其中 // 是 Python 3 面向未来的。