2

是否可以使用 boost 序列化具有 TLV 编码的字符串?或者我应该先编码,然后使用 boost 序列化二进制数据?如果是,那么如何编码为 TLV?

4

1 回答 1

1

Boost 的二进制序列化档案已经使用了类似于 TLV 的东西。显然,最简单的事情就是坚持使用字符串的默认序列化。

但是,您可以为自定义类型定义自定义序列化。

使用BOOST_STRONG_TYPEDEF您可以围绕您的 TLV 字符串值创建一个强大的“自定义”typedef,这样您就可以决定如何序列化字符串(例如,对于这种情况,将原始数据序列化为字节数组可能就足够了。您可以拥有一个boost::serialization::make_array<T>()起点

于 2014-06-13T14:36:32.817 回答