我正在尝试使用 Python 读取二进制文件。该文件处于 LSB 模式。我导入结构模块并像这样使用解包:
f=open(sys.argv[1],'rb')
contents= unpack('<I',f.read(4))[0]
print contents
f.close()
文件中的数据在LSB模式下为0XC0000500,实际值为0X000500C0。所以你可以看到 LSB 模式的最小尺寸是每字节。
但是,我使用的是 Mac 机器,可能是因为我的 gcc 或机器的版本(我不确定。我刚刚阅读了有关 sizeof 和 sys.html的http://docs.python.org/library/struct.html 。 bitorder),上面代码的结果是X0500C000,所以LSB模式的大小是2Bytes。
我应该如何解决这个问题?
无论这个问题是否得到回答,我都会继续挖掘,如果我得到任何东西,我会更新。
ps:数据文件是32位机器的ELF文件。
pps:由于我要读取大量数据,而且这是读取中普遍存在的问题,所以手动方式对我来说不是最好的。问题仍然有待解答。
ppps: < 表示“小端,标准大小(16 位) ” 现在我读到这个......