чтение двоичных данных из файла - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть двоичный файл, который я пытаюсь прочитать, сгенерированный симулятором легких. Устройство генерирует файлы данных пользовательского типа * .rwb, которые я пытаюсь автоматизировать для чтения, чтобы проанализировать в python / R / что угодно. Файл начинается со следующего:

Двоичный файл состоит из 500-байтового заголовка, за которым следует двумерный массив чисел.

Числа представляют собой 32-битные числа с плавающей запятой одинарной точности в порядке байтов Motorola (сети).

Имеется 13 столбцов.

Я могу успешно игнорировать первые 500 байтов заголовка, но у меня возникают проблемы при попытке сканирования через оставшуюся часть файла (с помощью функции python file.read ()). Следующие 100 байтов выглядят так:

b '\ x00 \ x00 \ x00 \ x00 \ xbc \ x8f \ xc0 \ x90: H \ x00 \ xc8: H \ x00 \ xc8 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00: H \ x00 \ xc8: H \ x00 \ xc8 \ x00 \ x00 \ x00 \ x00 @ \ xa1 \ x0e \ x00 @ \ x9d + \ x00 @ \ x15 \ XB0 \ x00; \ x00 \ x00 \ x00 \ XBC \ XAF \ x00 \ XAF: H \ x00 \ xc8: H \ x00 \ xc8 \ xb5p \ x00 \ x01 \ xb5p \ x00 \ x01 \ x00 \ x00 \ x00 \ x00: H \ x00 \ xc8: H \ x00 \ xc8 \ x00 \ x00 \ x00 \ x00 @ \ xa1G \ x80 @ \ xa3 \ x9d \ x00 '

I на самом деле не знаю, что с этим делать, так как он не соответствует ожидаемому шаблону (4-байтовые секции, 13 столбцов, поэтому он должен повторяться каждые 52 байта). Похоже, что в двоичном коде есть некоторые символы ': H' '@' '+', которые влияют на ожидаемое повторение данных.

Буду признателен за любые советы о том, как действовать.

...