问题描述
我对平面缓冲区的工作方式感到困惑。
我尝试查看docs,但仍然感到困惑。
基本上,我需要做的是
- 从文件中将JSON数据(或者实际上是任何数据格式,只要其他用户可以更改并且可读),就可以将其从文件中加载到结构中,或者一一读取字段。
- 应用程序关闭后,将结构以文件形式保存回任何可读数据格式
这就是为什么我对平面缓冲区感到困惑的原因。
文件保存后如何更改?保存的结果是二进制的吗?还是那不是它的目的?
我目前正在使用RapidJson。
用法是将文本数据读取到结构中,当应用结束时,将结构保存到可修改的文本中。
解决方法
Flatbuffers是给定数据结构的紧凑二进制表示形式,承诺可以直接使用它,而不会发生任何反序列化。相比之下,协议缓冲区填充相同的位置,但是需要(反)序列化。
出于您的目的,请坚持使用JSON或YAML,因为“人类可读”是优先事项。