Wea*_*Fox 2 python bytearray unpack python-2.7
我编写了一个用于struct.unpack字节数组的应用程序。使用 python 2.7.5 在我的机器上运行它,效果很好:
>>> data
bytearray(b'\x07\x00\x00\x00\x00\x00\x00\x00')
>>> struct.unpack("<Q", data)
(7,)
Run Code Online (Sandbox Code Playgroud)
但是,我尝试将它与 python 版本 2.7.3 一起使用,但出现异常:
错误:解包需要长度为 8 的字符串参数
我需要在解包之前将字节数组显式转换为字符串。这与python版本更改有关吗?该结构手册只字未提这个..我想避免这样做所有的铸造,是有解决什么办法?
此外,您可以用字节包装 bytearray 对象:
>>> data
bytearray(b'\x07\x00\x00\x00\x00\x00\x00\x00')
>>> struct.unpack("<Q", bytes(data))
(7,)
Run Code Online (Sandbox Code Playgroud)
它也适用于 Python3。
| 归档时间: |
|
| 查看次数: |
7871 次 |
| 最近记录: |