跳到主要内容
uencoder

Varint

Varint(Variable-length Integer)是 Protobuf 等协议使用的变长整数编码,每字节低 7 位承载数据、最高位为继续标志。

用途

在序列化协议中紧凑表示整数,小整数占用极少空间,大整数自动扩展。

机制

将无符号整数按 7 位分组从低到高输出,每字节 MSB 为 1 表示后续有字节、0 表示结束。有符号整数先用 ZigZag 映射为无符号再编码。

用例

  • Protobuf 字段编码
  • 数据库变长列
  • 紧凑二进制协议

相关工具

参考链接