Varint 是一种紧凑的表示数字的方法。它用一个或多个字节来表示一个数字,值越小的数字使用越少的字节数。这能减小用来表示数字的字节数。好比对于 int32 类型的数字,通常须要 4 个 byte 来表示。可是采用 Varint,对于很小的 int32 类型的数字,则能够用 1 个 byte 来表示。固然凡事都有好的也有很差的一面,采用 Varint 表示法,大的数字则须要 5 个 byte 来表示。从统计的角度来讲,通常不会全部的消息中的数字都是大数,所以大多数状况下,采用 Varint 后,能够用更少的字节数来表示数字信息。下面就详细介绍一下 Varint。html
Varint 中的每一个 byte 的最高位 bit 有特殊的含义,若是该位为 1,表示后续的 byte 也是该数字的一部分,若是该位为 0,则结束。其余的 7 个 bit 都用来表示数字。所以小于 128 的数字均可以用一个 byte 表示。大于 128 的数字,好比 300,会用两个字节来表示:1010 1100 0000 0010htm
连接:http://www.cnblogs.com/tekkaman/p/4882712.htmlblog
连接:http://www.cnblogs.com/smark/archive/2012/05/03/2480034.htmlit