31个稳定版本 (4个主要版本)
4.0.2 | 2024年8月1日 |
---|---|
4.0.0 | 2023年6月30日 |
3.0.4 | 2022年6月22日 |
3.0.3 | 2022年2月22日 |
0.12.0 | 2016年6月19日 |
在编码类别中排名62
每月下载量1,491,948
用于846个crate(95个直接使用)
35KB
720 代码行
integer-encoding-rs
此crate提供了整数到字节数组表示的编码和解码。
格式描述如下:Google的protobuf整数编码技术。
请使用 cargo bench
命令来确定您的机器编码和解析varints和fixedints的速度。请注意,一个迭代包含对有符号和无符号整数各进行8轮编码(或解码)——将得到的基准时间除以16,以得到每个操作的大致时间估计。整数非常大,所以结果代表最坏情况。
crate
如果您使用Tokio v0.2并且使用此crate中的异步类型(特性 tokio_async
),您可能会对v2.0
分支感兴趣。它仍然偶尔修复边缘情况,并依赖于Tokio v0.2。
FixedInt
FixedInt
通过复制底层内存或执行转义操作将整数转换为字节。编码值使用小端字节序。
然而,为所有整数类型实现了trait方法,以便方便地在小端和大端之间进行转换。也就是说,如果您在网络上收到大端字节序,并在解码它,它将首先被解释为小端字节序;转换将恢复正确的值。
VarInt
VarInt
将整数编码为7位块;除了最后一个字节之外,每个字节都将设置MSB,在最后一个字节中清除。
有符号值首先使用zigzag编码(也在上述链接的页面上描述)转换为无符号表示,然后与其他无符号数一样进行编码。
依赖项
~0–1.4MB
~25K SLoC