Считать побайтно файл неизвестного формата зная его структуру - C#
Формулировка задачи:
Столкнулся с проблемой, нужно считать файл, у файла не прописано расширение, известна байтовая структура:
заголовок файла:
1 байт: версия формата файла (значение 13)
2 байта: момент начала формирования файла
1 байт: последние две цифры года (остаток от деления года на 100)
1 байт: номер месяца (от 1 до 12)
1 байт: день (от 1 до 31)
1 байт: час (от 0 до 23)
1 байт: минута (от 0 до 59)
1 байт: секунда (от 0 до 59)
2 байта: коэффициент входных напряжений
2 байта: коэффициент выходных напряжений
2 байта: коэффициент фазных токов
2 байта: коэффициент нулевого тока
2 байта: коэффициент активной мощности
2 байта: коэффициент реактивной мощности
2 байта: коэффициент оперативного напряжения
4 байта: причина формирования файла
---
27 байтов
После заголовка файла идут записи следующей структуры:
1 байт: количество прошедших после предыдущей записи половинок миллисекунд
2 байта: действующее входное напряжение
2 байта: действующее входное напряжение
2 байта: действующее входное напряжение
2 байта: действующее выходное напряжение
2 байта: действующее выходное напряжение
2 байта: действующее выходное напряжение
2 байта: действующий фазный ток
2 байта: действующий фазный ток
2 байта: действующий фазный ток
2 байта: действующий ток
4 байта: активная мощность
4 байта: реактивная мощность
2 байта: период сетевого напряжения
2 байта: среднее входное напряжение
2 байта: среднее входное напряжение
2 байта: среднее выходное напряжение
2 байта: среднее выходное напряжение
2 байта: средний ток
2 байта: средний ток
2 байта: средний ток
2 байта: оперативное напряжение
---
47 байтов
Не могу понять как произвести считывание, пробовал считывать "ReadAllBytes", считывает все в кашу "*:?:%545выаы"
Был бы весьма благодарен совету
Решение задачи: «Считать побайтно файл неизвестного формата зная его структуру»
textual
Листинг программы
byte[] readBuffer = new byte[count]; BinaryReader reader = new BinaryReader(stream); readBuffer = reader.ReadBytes(count);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д