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