Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2017, 13:45   #1
12344321
 
Регистрация: 31.10.2012
Сообщений: 6
По умолчанию .RAW файл

Доброе время суток.
Имеется .RAW файл (не картинка), который выдаёт устройство. Как его можно распарсить на C# ?
12344321 вне форума Ответить с цитированием
Старый 29.10.2017, 13:50   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от 12344321 Посмотреть сообщение
выдаёт устройство
какое?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 29.10.2017, 13:53   #3
12344321
 
Регистрация: 31.10.2012
Сообщений: 6
По умолчанию

Устройство по измерению ЭКГ. В неё (в файле) хранятся данные о пациенте и данные о самих измерениях
12344321 вне форума Ответить с цитированием
Старый 29.10.2017, 14:00   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Вряд ли это какой-то известный формат.
Если в документации (и техподдержке) ничего нет, то только заниматься реверс-инжинирингом.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 29.10.2017, 14:07   #5
12344321
 
Регистрация: 31.10.2012
Сообщений: 6
По умолчанию

Ну в документации написано только какой бай за что отвечает:
Address Length Contents Remarks
40 49 Patient number ANSI string


А по поводу реверс-инжиниринга можно по подробнее?
12344321 вне форума Ответить с цитированием
Старый 29.10.2017, 14:10   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Ну так у вас уже есть описание. Парсите как написано. В чем проблема?
p51x вне форума Ответить с цитированием
Старый 29.10.2017, 14:12   #7
12344321
 
Регистрация: 31.10.2012
Сообщений: 6
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Ну так у вас уже есть описание. Парсите как написано. В чем проблема?
В этом то и проблема... При попытке парсинга выдаёт полную ахинею, хотя может я что-то делаю не так..
(Загружаю файл как байтовый массив, и пытаюсь с нужной ячейки по нужную длину преобразовать в строку (скажем имя)) - в результате получаю нечитабельный набор символов
12344321 вне форума Ответить с цитированием
Старый 29.10.2017, 14:17   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от 12344321 Посмотреть сообщение
Ну в документации написано только какой бай за что отвечает:
Так а что ж вам еще надо?!
Открывайте файл (FileStream, ...) и читайте что нужно.

Цитата:
Сообщение от 12344321 Посмотреть сообщение
А по поводу реверс-инжиниринга можно по подробнее?
Это анализ файлов (в основном используя хекс редактор, diff разных файлов и т.п.) с целью получения этой самой документации (спецификации) формата. В зависимости от сложности формата может занять много времени (месяца, года) и успешный исход не гарантирован (ну или как минимум какие-то детали формата так и останутся неизвестными)

То есть то, что у вас уже есть.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 29.10.2017, 14:25   #9
12344321
 
Регистрация: 31.10.2012
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Открывайте файл (FileStream, ...) и читайте что нужно.
Я просто делал так: (прошу сильно не закидывать тапочками)
Код:
byte[] data = File.ReadAllBytes(@"D:\1.raw");
string Name2 = Convert.ToBase64String(data , 90, 15);
string Name1 = System.Text.Encoding.Default.GetString(data , 90, 15);
А вот про FileStream не подумал.... Благодарю!

______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.
12344321 вне форума Ответить с цитированием
Старый 29.10.2017, 14:26   #10
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А Base64 зачем?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Raw socket Marselos Работа с сетью в Delphi 0 12.03.2012 19:35
Raw IP пакеты electropunk Работа с сетью в Delphi 0 09.03.2011 18:46
TBitmap -> RAW Celestia Мультимедиа в Delphi 5 17.01.2011 18:59
Raw Socket C++ GanBit Помощь студентам 0 21.09.2010 10:01
raw пакет spoool Работа с сетью в Delphi 1 02.12.2008 08:43