我写了一个应用程序,使用struct.unpack
在字节数组上。使用 Python 2.7.5 在我的机器上运行它,效果很好:
>>> data
bytearray(b'\x07\x00\x00\x00\x00\x00\x00\x00')
>>> struct.unpack("<Q", data)
(7,)
但是,我尝试将它与 Python 版本 2.7.3 一起使用,但出现异常:
错误:解包需要长度为 8 的字符串参数
我需要在解压字节数组之前将其显式转换为字符串。这与Python版本变化有关吗?这结构手册对此什么也没说。我想避免进行所有的选角,有什么办法可以解决这个问题吗?
另外,您可以用字节包装 bytearray 对象:
>>> data
bytearray(b'\x07\x00\x00\x00\x00\x00\x00\x00')
>>> struct.unpack("<Q", bytes(data))
(7,)
它也适用于Python3。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)