擅长:python、mysql、java
<p>一般来说,我建议您考虑使用Python的<a href="http://docs.python.org/library/struct.html" rel="noreferrer">struct</a>模块来实现这一点。它是Python的标准,应该很容易将问题的规范转换为适合于<code>struct.unpack()</code>的格式化字符串。</p>
<p>请注意,如果字段之间/字段周围有“不可见”的填充,则需要找出并将其包含在<code>unpack()</code>调用中,否则您将读取错误的位。</p>
<p>读取文件内容以便进行解包非常简单:</p>
<pre><code>import struct
data = open("from_fortran.bin", "rb").read()
(eight, N) = struct.unpack("@II", data)
</code></pre>
<p>这将解压缩前两个字段,假设它们从文件的最开始处开始(没有填充或无关数据),并且还假设使用本机字节顺序(符号<code>@</code>)。格式化字符串中的<code>I</code>表示“无符号整数,32位”。</p>