解析 Varint
最近遇到类似于Protobuf的格式的文件。于是根据同事给的分析思路自己写了一套解析的代码,这里只展示怎么解析VarInt;
1> 1 byte = 8 bits,
var bt = 0b_1111_0000
Varint是根据 最高位来判断是否读取下一个字节,11110000最高位是1(最左边是最高位),读取到最高位是0的字节的位置,然后取从开始到最高位是0的这个字节,每个字节只取7个bit位,然后从后面的字节开始读取,这样就可以了。
2> 给个字节数组,来尝试一下:
var b
原创
2020-08-01 12:55:07 ·
878 阅读 ·
0 评论