当前位置: 首页 > 工具软件 > Kiwi > 使用案例 >

kiwi编码格式简介

乌学博
2023-12-01

猕猴桃消息格式

Kiwi是一种基于模式的二进制格式,用于有效地编码数据树。 它的灵感来自Google的格式,但更简单,编码更紧凑,并且对可选字段的支持更好。

目标:

常用值的有效编码:可变长度编码用于数字值,其中较小的值占用较少的空间。

复合对象的有效编码: struct功能支持嵌套对象,且编码开销为零。

可选字段的存在是可检测到的:对于协议缓冲区,这是不可能的,尤其是对于重复字段。

线性可序列化:读取和写入都是单扫描操作,因此它们具有高速缓存效率并保证了时间复杂度。

向后兼容性:新版本的架构仍可以读取旧数据。

前向兼容性:如果新模式的副本与数据捆绑在一起,则旧版本的模式可以选择读取新数据(新模式可让解码器跳过未知字段)。

实现简单: API非常少,生成的C ++代码仅取决于单个文件。

非目标:

最佳位打包:编码后可以使用压缩,以在需要时节省更多空间。

本机类型

详细参考:https://github.com/evanw/kiwi/blob/master/examples/cpp.md

 类似资料: