如何从未知编码中读取PYTHON上的二进制文件?

时间:2018-02-13 14:35:27

标签: python encoding binary

当我尝试在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;

但格式仍然不好我无法读取文件。我应该得到一个整数序列,但我只得到特殊字符,你有想法吗?

0 个答案:

没有答案