我正在使用python 2.7。只是想知道如何将bytearray转换为2字节的浮点数。 bytearray是:
simple test
想要以little-endian格式转换为96个浮点数,字节1是LSB,字节0是MSB。
答案 0 :(得分:2)
您可以使用numpy
fromstring
:
import numpy as np
# little-endian
x = np.fromstring(buffer(temp), dtype='<f2')
# big-endian
x = np.fromstring(buffer(temp), dtype='>f2')
如果您需要正常浮动,可以将np.float16
转换为浮点数:
# one value
float(x[0])
# all values
[float(a) for a in x]
# see user2357112 comments for other options