python的struct模块可以让我们很方便的操作二进制数据,但是我们必须注意的是:我们在使用struct进行二进制操作的时候会发现,操作系统和硬件将影响程序是否正常运行。
在
Format = 'lllllfll'
f = open('test.dat','rb')
data = f.read(32)
s=[]
s.append(struct.unpack(Format,data))
32位下正常,64位下报:“struct.error: unpack requires a string argument of length 64”
同样是64位的操作系统,Windows和UNIX行为可能不太一样。UNIX上的long可能是64位,Windows可能就是32位。
python语言的整形相当于C语言中的long型,在32位机器上位宽为32位,在64位系统上,整型的位宽为64位。
本文详细解释了在使用Python的struct模块处理二进制数据时,如何应对不同操作系统(如32位与64位)和硬件配置带来的挑战。特别关注了长整型在不同平台上的位宽差异,并提供了实例代码说明了在64位系统中遇到的错误及其解决策略。
1287

被折叠的 条评论
为什么被折叠?



