Когда я читаю двоичный файл, его размер неверен - PullRequest
1 голос
/ 27 сентября 2019

Я хочу прочитать двоичные данные, которые имеют массив 518 * 723 с uint32.В Matlab я читаю данные без проблем, используя 'fread'.Размер данных правильный '374514'.

Но в python (я использую pycharm, Windows10) я получил неправильный размер данных.

n_data = np.fromfile(data, dtype = 'uint32') 

n_data.size : 723000

Почему результат показывал по-другому?

1 Ответ

0 голосов
/ 27 сентября 2019

Я полагаю, что это может быть связано с тем, как numpy и Matlab представляют / понимают, что представляет размер данных.

Если вы посмотрите документацию numpy.fromfile , в ней есть примечание о хранении данных, которое мы можем расширить до того, что вы описываете:

Не полагайтесь накомбинация tofile и fromfile для хранения данных, так как сгенерированные двоичные файлы не зависят от платформы.В частности, информация о порядке байтов или типе данных не сохраняется.Данные могут храниться в независимом от платформы формате .npy, используя вместо этого сохранение и загрузку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...