我正在使用python
struct模块来创建自定义二进制文件。
文件本身具有以下格式:
4 bytes
(整数)
1 byte
(unsigned char)
4 bytes
(浮动)
4 bytes
(整数)
1 byte
(unsigned char)
4 bytes
(浮动)
..........................( 100000行)
4 bytes
(整数)
1 byte
(unsigned char)
4 bytes
(浮动)
目前,我正在使用 32位计算机来创建这些自定义二进制文件。我很快就计划切换到 64位机器。
我是否可以使用{32bit / 64bit}
两台机器读取/写入相同的文件?或者我应该期待兼容性问题?
(我将使用Ubuntu Linux)
答案 0 :(得分:2)
只要你的struct format字符串使用“标准大小和对齐”(<
或>
)而不是“native size and alignment”(@
),你的文件就可以了使用跨平台。
答案 1 :(得分:1)
请参阅http://docs.python.org/library/struct.html#byte-order-size-and-alignment
默认情况下,C类型以机器的本机格式和字节顺序表示,并在必要时通过跳过填充字节进行正确对齐(根据C编译器使用的规则)。
所以它取决于您的代码是否可移植。
答案 2 :(得分:1)