使用 numpy 从二进制文件中读取 char 数据

reading char data from binary file with numpy

我有一个二进制文件,其中一些字符数据卡在一堆整数和浮点数的中间。我正在尝试用 numpy 阅读。关于字符数据,我能得到的最远的是:

strbits = np.fromfile(infile,dtype='int8',count=73)

(是的,这是一个 73 个字符的字符串。)

三个问题:我的数据现在存储在 strbits 中没有损坏或截断吗?而且,我现在可以将 strbits 转换为可读的字符串吗?最后,我应该以完全不同的方式来做这件事吗?

更新: 这是可行的方法,但我认为会有更优雅的方法。

strarr = np.zeros(73,dtype='c')
for n in range(73):
   strarr[n] = np.fromfile(infile,dtype='c',count=1)[0]

所以现在我有一个数组,其中每个元素都是来自输入文件的单个字符。

你这样做的方式很好。以下是将其转换为字符串的方法。

strbits = np.fromfile(infile, dtype=np.int8, count=73)
a_string = ''.join([chr(item) for item in strbits])