将boost序列化文本存档转换为结构化格式

时间:2016-12-29 19:05:58

标签: c++ serialization boost

给出

  • 一个boost序列化文本存档
  • 用于序列化的boost版本和c ++工具集

但缺少文本存档所基于的数据结构。有没有办法恢复任何更可读的结构化表示(例如XML或JSON)?

1 个答案:

答案 0 :(得分:0)

不,没有这样的方式。

Boost Serialization是可扩展的。

用户可以提供自己的 - 可插入 - 存档格式。这些可以以他们喜欢的任何方式对运行时类型信息进行编码。

因此,归档实现无法了解其实现,除非通过使用其他归档格式再次反序列化和序列化,否则无法进行转换。

(更正式地说:语言信息在序列化时有选择地丢失,其他档案格式可能依赖于源档案格式中不存在的信息。)

示例:XML归档需要标记名称,这些名称本身对二进制归档不感兴趣。这些名称不可能从二进制存档中“恢复”,因为它们永远不存在。