用Python保存数据然后用C ++读取

时间:2016-02-24 10:06:55

标签: python c++ serialization deserialization

  • 我在Python中有一些代码,它们生成一组数据结构(它们可能由类表示,但不需要任何方法)。
  • 此数据结构可能会在未来扩展或添加新结构
  • 我在Android上有一些C ++代码,它知道这部分数据结构及其字段。
  • 传递数据结构的唯一方法是通过序列化到文件,然后反序列化它们
  • 需要二进制格式支持。
  • 需要Python和C ++中的成熟实现。 BSD,麻省理工学院,Apache许可证是首选。
  • 速度并不重要。

我尝试过自定义格式,但很难扩展它。 类似SAX的解析器对于这样的任务来说太低了。

1 个答案:

答案 0 :(得分:1)

这里最重要的因素是要传递的文件格式 - 无论是否需要在另一端创建代理类,或者只需要在另一端读取数据,一旦数据格式在接收方,接收方知道如何处理它。

因此,最好使用众所周知且广泛使用的数据格式。主要是因为它们广泛使用的优点,这些数据格式通常也会有一些第三方或内置库来帮助您创建数据结构文件。

为此,我建议您使用JSON或XML数据格式。 Python已经有两个序列化器:

您还可以搜索其他一些我认为除了它们之外也可以使用的替代方案。