当我尝试在python中读取二进制文件时遇到问题。
我可以使用MATLAB轻松阅读这个二进制文件:
file_id = fopen("file.bin", "r");
file = fread(file_id);
fclose(file_id);
dataA = typecast (uint8(file),"uint16");
data = double(dataA);
但我现在必须用 python 阅读它,我尝试了几种方法:
import numpy as np
import base64
file_id = open("file.bin", "rb");
file = file_id.read();
方法1:
A = base64.b64decode(file);
file = np.uint16(A);
方法2:
A = file.decode(encoding='utf-16', errors='ignore');
方法3:
A = bytes(file).decode(encoding='utf-16', errors='strict')
方法4:
with codecs.open('file.bin', 'r', encoding='utf-8', errors='strict') as fdata:
A = codecs.lookup(fdata);
...
file_id.close;
但格式仍然不好我无法读取文件。我应该得到一个整数序列,但我只得到特殊字符,你有想法吗?