Считать побайтно файл неизвестного формата зная его структуру - 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);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы