擅长:python、mysql、java
<p>首先需要将四个字节的列表转换为Python字节字符串,然后将该字符串转换为浮点值。在</p>
<p>假设您有列表<code>value = [0, 0, 192, 63]</code>。首先转换为字节字符串:</p>
<pre><code>vstr = ''.join([chr(k) for k in slist]) #chr converts the integer into the corresponding byte
</code></pre>
<p>然后,作为<a href="https://stackoverflow.com/a/27300443/120261">dyoo points out</a>,您可以使用<a href="https://docs.python.org/2/library/struct.html#struct.unpack" rel="nofollow">struct.unpack</a>将字节字符串转换为浮点数:</p>
^{pr2}$
<p>在这个例子中,<code>f</code>是1.5。在</p>
<p>你需要知道的一件事是你的硬件设备的终结性。如果在您进行解包的平台上,使用“f”作为格式字符串到<code>struct.unpack</code>将给出错误的答案。在格式字符串前面加上<code><</code>,对于小端设备,<code>></code>对于大端设备:</p>
<pre><code>fle = struct.unpack("<f", ''.join([chr(k) for k in value]) #for little-endian HW
fbe = struct.unpack(">f", ''.join([chr(k) for k in value]) #for big-endian HW
</code></pre>