#整数 #varint #zigzag

黄昏 varint

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

1 个不稳定版本

0.1.0 2021年5月26日

#1867编码

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

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 的编码和解码(将整数编码为只使用表示其大小所需的内存)。

无运行时依赖