Boost - 使用 TLV 编码序列化字符串
Posted
技术标签:
【中文标题】Boost - 使用 TLV 编码序列化字符串【英文标题】:Boost - serialize string with TLV encoding 【发布时间】:2014-06-13 12:06:51 【问题描述】:是否可以使用 boost 序列化具有 TLV 编码的字符串?或者我应该先编码,然后使用 boost 序列化二进制数据?如果是,那么如何编码为 TLV?
【问题讨论】:
【参考方案1】:Boost 的二进制序列化档案已经使用了类似于 TLV 的东西。显然,最简单的做法是坚持使用默认的字符串序列化。
但是,您可以为自定义类型定义自定义序列化。
使用 BOOST_STRONG_TYPEDEF
您可以围绕您的 TLV 字符串值创建一个强大的“自定义”类型定义,这样您就可以决定如何序列化字符串(例如,对于这种情况,它可能就足够了将原始数据序列化为字节数组。您可以查看 boost::serialization::make_array<T>()
作为起点
【讨论】:
以上是关于Boost - 使用 TLV 编码序列化字符串的主要内容,如果未能解决你的问题,请参考以下文章
华为OD机试真题Python实现TLV 编码真题+解题思路+代码(2022&2023)
华为OD机试题 - TLV 编码(JavaScript)| 含思路
如何在 .Net 中创建和解析标签、长度、值 (TLV) 并在 Base64 中对其进行编码