gpt4 book ai didi

c++ - 二进制解析器还是序列化?

转载 作者:可可西里 更新时间:2023-11-01 17:57:18 25 4
gpt4 key购买 nike

我想为游戏存储不同对象的图,它们的类可能相关也可能不相关,它们可能包含也可能不包含简单结构的 vector 。

  • 我希望解析操作快,数据可以很大。
  • 添加新东西不应该很难,也不应该破坏向后兼容性。
  • 较小的文件大小很重要
  • 可读性很重要

我所说的序列化是指让对象自己序列化,这是有效的,但为此我需要为不同的对象编写不同的序列化方法。

我的意思是,通过二进制解析/组合,创建一个新的解析器/组合器树来保存和读取这些对象的数据,并传递它以让我的对象推送/拉取它们的数据。

我也可以使用 json,但它的读取速度可能很慢,而且当涉及到相当大的矩阵和数字集时,它的大小效率不是很高。

最佳答案

逐点:

  • 快速解析:二进制(因为你不一定要“解析”,你可以反序列化)
  • 添加新事物:文本
  • 较小:文本(即使 gzip 文本比二进制文本大,也不会大很多)。
  • 可读性:文本

所以这是文本的三票,二进制的一分。就个人而言,除了图像(以及“自然”二进制的其他数据)之外,我会为所有内容使用文本。然后,将所有内容存储在一个大的 zip 文件中(我能想到有几款游戏这样做或类似的东西)。

好读物:The Importance of Being TextualPower Of Plain Text .

关于c++ - 二进制解析器还是序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3570892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com