【问题标题】:Convert boost serialization text archive to structured format将 boost 序列化文本存档转换为结构化格式
【发布时间】:2016-12-29 19:05:58
【问题描述】:

给定

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

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

【问题讨论】:

  • 您能否提供一个文本存档内容的小样本以及您希望在 XML/JSON 中得到什么输出?
  • 我正在寻找一个通用的解决方案。例如。在不知道生成前者的数据结构的情况下将文本存档输出转换为等效的 xml 存档输出。

标签: c++ serialization boost


【解决方案1】:

不,没有这样的方法。

Boost 序列化是可扩展的。

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

因此存档实现无法知道它们的实现,并且无法进行转换,除非使用其他存档格式再次反序列化和序列化。

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

示例:XML 档案需要标记名称,而这些名称对二进制档案本身来说是无趣的。这些名称不可能从二进制存档中“恢复”,因为它们从未存在过。

【讨论】:

    猜你喜欢
    • 2015-01-05
    • 2020-05-07
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    相关资源
    最近更新 更多