Boost -用TLV编码序列化字符串

Boost - serialize string with TLV encoding

本文关键字:序列化 字符串 编码 TLV Boost      更新时间:2023-10-16

是否可以使用boost序列化TLV编码的字符串?还是先编码然后用boost序列化二进制数据?如果是,那么如何编码到TLV?

Boost的二进制序列化存档已经使用了类似TLV的东西。显然,最简单的做法是保持字符串的默认序列化。

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

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