1 / 1 / 0
Регистрация: 21.11.2016
Сообщений: 11
|
|
1 | |
Считать побайтно файл неизвестного формата зная его структуру21.11.2016, 14:21. Показов 2582. Ответов 9
Метки нет (Все метки)
Столкнулся с проблемой, нужно считать файл, у файла не прописано расширение, известна байтовая структура:
заголовок файла: 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выаы" Был бы весьма благодарен совету
0
|
21.11.2016, 14:21 | |
Ответы с готовыми решениями:
9
Запись в .dbc файл, зная его структуру Как открыть бинарный файл, не зная его структуру? Как побайтно считать файл) Подскажите как побайтно считать файл |
6510 / 4086 / 1606
Регистрация: 09.05.2015
Сообщений: 9,553
|
|
21.11.2016, 14:28 | 2 |
Цикл+BinaryReader.
1
|
1 / 1 / 0
Регистрация: 21.11.2016
Сообщений: 11
|
|
21.11.2016, 14:34 [ТС] | 3 |
Не особо понял как это реализовать
0
|
6510 / 4086 / 1606
Регистрация: 09.05.2015
Сообщений: 9,553
|
||||||
21.11.2016, 14:40 | 4 | |||||
1
|
230 / 113 / 79
Регистрация: 17.10.2016
Сообщений: 312
|
|
21.11.2016, 14:48 | 5 |
PavelP96, структуры описать,
потом BinaryReader-ом блоками считывать и в струкутуры переводить http://stackoverflow.com/quest... o-a-struct
1
|
1 / 1 / 0
Регистрация: 21.11.2016
Сообщений: 11
|
|
21.11.2016, 14:52 [ТС] | 6 |
А дальше получается нужно прописывать все байты? ( Извините за тупые вопросы)
0
|
230 / 113 / 79
Регистрация: 17.10.2016
Сообщений: 312
|
|||||||||||
21.11.2016, 15:00 | 7 | ||||||||||
Сообщение было отмечено PavelP96 как решение
Решение
Опишите этот участок (ну и предыдущий )структурами (C# struct)
Потом считали блок данных из файла
Добавлено через 3 минуты вот про структуры https://habrahabr.ru/post/114953/
1
|
1 / 1 / 0
Регистрация: 21.11.2016
Сообщений: 11
|
|
21.11.2016, 15:01 [ТС] | 8 |
Спасибо за ответы, сейчас голова не соображает, завтра попробую вникнуть
0
|
230 / 113 / 79
Регистрация: 17.10.2016
Сообщений: 312
|
||||||
21.11.2016, 15:14 | 9 | |||||
1
|
1 / 1 / 0
Регистрация: 21.11.2016
Сообщений: 11
|
|||||||||||
23.11.2016, 12:45 [ТС] | 10 | ||||||||||
А какого типа должна быть переменная "aStruct"?
Добавлено через 8 минут Извиняюсь, за глупый вопрос, не понял с начала, что это имя структуры Добавлено через 12 минут Не совсем понял , все таки, к чему присваиваем Header temp = (Header)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(Header));
Все перемешал Добавлено через 3 часа 39 минут
Нужно как то перевести в строку и вывести в gridcontrol Добавлено через 23 часа 29 минут Спасибо, разобрался
0
|
23.11.2016, 12:45 | |
23.11.2016, 12:45 | |
Помогаю со студенческими работами здесь
10
Проверка на существование неизвестного файла, зная лишь его расширение Как побайтно считать бинарник? Считать bmp побайтно и пересохранить Как передать в функцию число и структуру побайтно? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |