Python 2字节二进制数组转换为整数或浮点数

时间:2014-09-22 15:36:39

标签: python arrays matlab

我从数字示波器读取二进制数组,但后来我无法对二进制数组做任何事情。 在Matlab中这是一个简单的工作: 数据是数组(每个样本2个字节,二进制格式) 它可以通过该指令转换为16位整数

 Data = typecast(uint8(Data),'int16'); %convert data to int16

然后使用

浮动
 Data = double(Data); %covert data to double to be able to perform math

在Python中,我有一个名为dataIn的数组,从一个乐器中读取。我找不到将二进制数组转换为16位整数数组,然后转换为实数值向量的方法。

如果有人解决了这个问题,我将不胜感激。感谢

1 个答案:

答案 0 :(得分:3)

如果你正在使用numpy,这很容易:

data = numpy.fromstring(bytes_data, dtype=numpy.uint16)
data = numpy.array(data, dtype=float)