kiwi编码格式简介

猕猴桃消息格式

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

目标:

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

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

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

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

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

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

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

非目标:

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

本机类型

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程经验随笔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值