我需要根据TLV 格式使用Serde序列化一类结构。TLV 可以以树格式嵌套。
这些结构的字段通常被序列化,很像bincode,但在字段数据之前,我必须包含一个标签(理想情况下要关联)和字段数据的长度(以字节为单位)。
理想情况下,Serde 会识别需要这种序列化的结构,可能是通过让它们实现一个TLV特征。这部分是可选的,因为我还可以明确地注释这些结构中的每一个。
所以这个问题按优先级分为 3 个部分:
在执行该数据的序列化之前,如何获取长度数据(来自 Serde?)?
我如何将标签与结构相关联(尽管我想我也可以在结构中包含标签..)?
如何让 Serde 识别一类结构并应用自定义序列化?
请注意,1) 是此处的(核心)问题。如果 1) 可以用 Serde 解决,我会将 2) 和 3) 作为单独的问题发布。