#integer #leb128 #encoding #variables #varint

已删除 vint

vint.rs:简单的64位小端整数编码

3.1.0 2020年1月30日

#17 in #leb128

Apache-2.0

5KB

vint.rs:简单的64位小端整数编码

Crate Docs Apache 2.0 Licensed MSRV Safety Dance Build Status Gitter Chat

vint.rs 是一种针对64位小端整数的可变长度编码实现,旨在优化简洁性和性能。

文档

关于

此包实现了针对64位小端整数的可变长度编码,尽管没有特定的名称,但其旨在提供一系列特性,使其在各个方面都优于其他可变长度整数编码,如 LEB128

  • 能够以最多9个字节表示完整的64位整数范围
  • 解码过程中不涉及循环:只需(非对齐)加载、掩码和位移
  • "vint" 的总长度可以通过第一个字节单独确定

这种编码的一些先例可以在 可扩展二进制元语言 (例如,用于 Matroska 媒体容器格式) 中找到,然而请注意,该格式使用的“vint”的具体类型在解码时仍然需要循环。

许可证

本软件遵循 Apache License 2.0 许可协议(以下简称“本协议”);除非符合本协议或书面同意,否则不得使用此文件。您可以在以下位置获取协议副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则在本协议下分发的软件按照“现状”基础分发,不提供任何形式(明示或暗示)的保证或条件。有关本协议下权限和限制的具体语言,请参阅协议。

贡献

除非您明确声明,否则您提交给作品并有意包含在内的任何贡献都应按照上述双重许可方式使用,不附加任何其他条款或条件。

无运行时依赖