当我用ctypes读取二进制数据时,它不能正常工作。在
二进制数据
03 00 00 00 49 7B 00 00 00 00 00 00
python代码
^{pr2}$结果
3
0
但是当我读到二进制数据blow并取消对python代码的注释时,它工作得很好。在
03 00 00 00 03 00 00 00 49 7B 00 00 00 00 00 00
结果
3
3
31561
好像是只虫子。有人能帮我解决这个问题吗? 任何建议都将不胜感激。在
环境: Windows 7 x64 Python 2.7 x32 ctypes 1.1.0版
据我所知,你在structure packing上有问题。看起来您的代码读取的是“03 00 00 00 49 7B 00 00”(字大小为64位),但只使用前4个字节“03 00 00 00”。在
更新:根据eryksun,上述分析是正确的。只需在DataStructure的定义中设置
_pack_ = 1
。在一些人在尝试C代码:
编译并运行后,检查了
^{pr2}$ULongLong
文件:有时您会在第5到第8字节中得到一些垃圾:
这个二进制文件正确吗?
相关问题 更多 >
编程相关推荐