我有一系列由独立结构定义的消息。这些结构共享一个公共标头,在应用程序之间发送。我正在创建一个解码器,它将获取使用这些结构构建的消息中的原始数据捕获并将它们解码/解析为一些纯文本。
我有超过 1000 条不同的消息需要解码,所以我不确定是否在 XML 中定义所有结构格式,然后使用 XSL 或一些翻译是可行的方法,或者是否有更好的方法来做到这一点。
有时我需要解码包含超过一百万条消息的日志,因此性能是一个问题。
关于创建解码器/解析器的技术/工具/算法有什么建议吗?
struct:
struct {
dword messageid;
dword datavalue1;
dword datavalue2;
} struct1;
原始数据示例:
0101010A0A0A0A0F0F0F0F
解码消息(所需输出):
message id: 0x01010101, datavalue1: 0x0A0A0A0A, datavalue2: 0x0F0F0F0F
我正在使用 C++ 进行此开发。