解读 Golang 标准库里的 varint 实现

解读 Golang 标准库里的 varint 实现

💡 原文中文,约3300字,阅读约需8分钟。
📝

内容提要

最近发现Golang标准库自带varint实现,用于解决整数编码的空间效率和兼容性问题。varint将整数分为7位一组,使用可变长度的字节序列表示整数,提高空间效率。对于负数,Golang标准库引入zigzag编码来解决。负数通过映射为正数进行编码,减少二进制编码的长度。在Golang标准库中,无符号整数使用PutUvarint和Uvarint函数,有符号整数使用Varint和PutVarint函数。varint编码不适用于所有场景。

🏷️

标签

➡️

继续阅读