是否可以使用 boost 序列化带有 TLV 编码的字符串?或者我应该先编码,然后使用 boost 序列化二进制数据?如果是那么如何编码为TLV?
最佳答案
Boost 的二进制序列化存档已经使用了类似于 TLV 的东西。显然,最简单的做法是坚持使用默认的字符串序列化。
但是,您可以为自定义类型定义自定义序列化。
使用 BOOST_STRONG_TYPEDEF
您可以围绕 TLV 字符串值创建一个强大的“自定义”typedef,这样您就可以决定如何序列化字符串(例如,对于这种情况,将原始数据序列化为字节数组可能就足够了。您可以查看 boost::serialization::make_array<T>()
作为起点
关于c++ - Boost - 使用 TLV 编码序列化字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24204915/