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 面向未来的。
所以我有一个包含 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 面向未来的。