У меня есть серия сообщений, которые определяются независимыми структурами. Эти структуры имеют общий заголовок, отправляемый между приложениями. Я создаю декодер, который будет принимать необработанные данные в сообщениях, которые были построены с использованием этих структур, и декодировать / анализировать их в виде простого текста.
У меня более 1000 различных сообщений, которые необходимо декодировать, поэтому я не уверен, стоит ли определять все форматы структуры в XML и затем использовать XSL или какой-либо перевод или есть лучший способ сделать это.
Бывают случаи, когда мне нужно будет декодировать журналы, содержащие более миллиона сообщений, поэтому производительность является проблемой.
Какие-либо рекомендации для методов / инструментов / алгоритмов для создания декодера / парсера?
struct:
struct {
dword messageid;
dword datavalue1;
dword datavalue2;
} struct1;
Пример необработанных данных:
0101010A0A0A0A0F0F0F0F
Декодированное сообщение (желаемый вывод):
message id: 0x01010101, datavalue1: 0x0A0A0A0A, datavalue2: 0x0F0F0F0F
Я использую C ++ для этой разработки.