[英]Binary Files on 32bit / 64bit systems?
我正在使用python
結構模塊來創建自定義二進制文件。
該文件本身具有以下格式:
4 bytes
(整數) 1 byte
(無符號字符) 4 bytes
(浮點數)
4 bytes
(整數) 1 byte
(無符號字符) 4 bytes
(浮點數)
.........................( 100000 條這樣的行)
4 bytes
(整數) 1 byte
(無符號字符) 4 bytes
(浮點數)
目前,我正在使用32 位機器來創建這些自定義二進制文件。 我很快就打算切換到64 位機器。
我可以使用兩台{32bit / 64bit}
機器讀/寫相同的文件嗎? 還是我應該期待兼容性問題?
(我將同時使用 Ubuntu Linux)
只要您的結構格式字符串使用“標准大小和對齊方式”( <
或>
)而不是“本機大小和對齊方式”( @
),您的文件就可以跨平台使用。
見http://docs.python.org/library/struct.html#byte-order-size-and-alignment
默認情況下,C 類型以機器的本機格式和字節順序表示,並在必要時通過跳過填充字節來正確對齊(根據 C 編譯器使用的規則)。
因此,它是否可移植取決於您的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.