根据 Google FlatBuffers 的“编写架构”指南,可以使用引用共享数据:“请记住,您可以共享数据(引用缓冲区中的相同字符串/表),因此将重复数据分解为自己的数据结构可能是值得的。”
但是,我不太明白这是如何实现的。我有一个我正在尝试逆向工程的 flatbuffer,我发现有多个偏移量指向同一个字符串值。当我再次编译解码的 JSON 文件时,该字符串多次出现。为了防止这种情况,我必须在架构文件中具体指定什么?
谢谢 :)
JSON 无法表示此类引用,因此当输出为 JSON 时,缓冲区会“展平”为树。只有在二进制级别,FlatBuffer 才能代表 DAG。您可以通过在序列化时在父级中使用两次子级偏移量来构建这样的 DAG。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句