#整数 #varint #zigzag

黄昏 varint

varint+zigzag 整数编码/解码(no_std)

1 个不稳定版本

0.1.0 2021年5月26日

#1867编码

Download history 34/week @ 2024-03-11 36/week @ 2024-03-18 75/week @ 2024-03-25 91/week @ 2024-04-01 28/week @ 2024-04-08 46/week @ 2024-04-15 40/week @ 2024-04-22 38/week @ 2024-04-29 42/week @ 2024-05-06 31/week @ 2024-05-13 42/week @ 2024-05-20 32/week @ 2024-05-27 31/week @ 2024-06-03 33/week @ 2024-06-10 30/week @ 2024-06-17 38/week @ 2024-06-24

135 每月下载量
16 个 crates 中使用(通过 canonical

MIT 许可证

9KB
141

黄昏 varint

integer-encoding 的最小 no_std 衍生版 integer-encoding

格式描述如下: Google 的 protobuf 整数编码技术.

请随意使用 cargo bench 来确定您的机器编码和解码 varint 和 fixedint 的速率。请注意,一次迭代包括对每个有符号整数和无符号整数进行编码(或解码)的每一轮八次 -- 将生成的基准时间除以 16 以获得每个操作的大致时间估计。整数非常大,所以结果代表最坏情况。

VarInt

VarInt 以 7 位块编码整数;除了最后一个字节外,每个字节的最高位都被设置,在最后一个字节中它被清除。

有符号值首先使用 zigzag 编码(如上链接的页面所述)转换为无符号表示,然后按每个其他无符号数进行编码。


lib.rs:

整数快速序列化。

此 crate 实现整数类型到 VarInt 以及从 VarInt 的编码和解码(将整数编码为只使用表示其大小所需的内存)。

无运行时依赖