【问题标题】:Binary Protocol Serialization Frameworks二进制协议序列化框架
【发布时间】:2018-04-13 09:35:02
【问题描述】:

有一些很棒的库可用于反序列化二进制格式。我真的很喜欢 kaitainom's approach 使用 Rust 的声明式方法。

但是,我不知道有什么好的方法可以序列化二进制格式。

例如,您经常遇到必须将消息长度直接写入消息头的情况,但实际上此时您并不知道确切的消息长度,因为它取决于消息头下游的许多字段.而且您有时还必须处理可能很麻烦的填充对齐。

您知道此类问题的任何解决方案吗?

【问题讨论】:

    标签: binary-serialization


    【解决方案1】:

    请看ASN.1,它在多年前就解决了这个问题,并且仍在许多不同行业的关键基础设施中继续广泛使用。它独立于编程语言和机器架构,因此您可以设置通信,无论一个对等方在小端机器上使用 C,而另一个在大端机器上使用 Java 或 C#。用于 ASN.1 的优质工具可以轻松处理结构填充问题。 ITU-T ASN.1 项目的ASN.1 Tools 页面提供了一个很好的工具列表(免费和商业)。

    【讨论】:

      猜你喜欢
      • 2011-03-15
      • 1970-01-01
      • 1970-01-01
      • 2012-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-11
      相关资源
      最近更新 更多