【发布时间】:2017-12-11 09:45:28
【问题描述】:
我有一个长度为 41 的字节对象。我尝试用以下方法解压它:
struct.unpack('2B2B32sBi',data)
但我收到一个错误:
struct.error: unpack 需要一个长度为 44 的字节对象
查看python文档后,我认为2B2B32sBi的长度应该是2*1+2*1+32*1+1+4=41。为什么我错了?
【问题讨论】:
-
unpack 必须有一个 exact 格式正确长度的缓冲区,超出是一个错误,因此您必须截断/切片以解压缩可变长度等早期信息,然后创建包含它们的新格式,例如: format2 = format1 + str(len) + 's'
标签: python python-3.x