我有一个大小为[1,34]
的数组Data
。
使用MATLAB将此大小的数组转换为8位无符号整数数组,结果如下:
>> typecast(size(Data), 'uint8')
>> 0 0 0 0 0 0 240 63 0 0 0 0 0 0 65 64
我在Python中尝试了以下内容:
>> x = np.array([1,34],dtype = np.int64)
>> x.view(np.uint8)
>> array([ 1, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0],
dtype=uint8)
这些显然不一样。我怎么能得到同样的结果,我也非常感谢MATLAB结果背后的推理。
我也参考了这个答案。
MATLAB代码size(Data)
返回一个双精度浮点数组,这是MATLAB的默认类型。
Python中的等效项应该是:
x = np.array([1,34], dtype=np.double)
x.view(np.uint8)