文件名称:Varint+ZigZag解码 ZigZag编码
文件大小:609KB
文件格式:RAR
更新时间:2022-04-28 11:40:04
Varint Vint ZigZag 解码实现 编码实现
实现Varint + ZigZag的编解码过程,里面有我自己对Vint编解码实现的算法 ,VInt编码为Varint编码和ZigZag编码的结合,为一种将64位二进制编码的有符号整型编码在最多10字节中的编码方式。Varint编码为一种将64位二进制编码的无符号整型根据其大小用不同长度字节进行编码的编码方式。其编码特点为数字越小所占用的字节数越少。每个字节的低7位用来表示数字,最高位有特殊的含义:如果该位为 1,表示后续的一个字节也是该数字的一部分;如果该位为 0,则该字节为该数字的最后一个字节。因此小于 128 的数字都可以用一个字节表示。大于 128 的数字,会用两个或两个以上的字节编码。ZigZag编码是为了配合Varint来使用的一种为有符号整型数定义的编码。ZigZag的原理是按照绝对值大小来重新解析二进制。VInt的编码实际上是将64位整数的有符号编码首先使用ZigZag转换后,再用Varint进行的编码。VInt的编码与Google Protocol Buffer中wire type中的sint64的编码相同。
【文件预览】:
VintCode
----VintCode.ncb(49KB)
----VintCode.cpp(4KB)
----VintCode.positions(163B)
----VintCode.dsp(4KB)
----VintCode.dsw(539B)
----main.cpp(293B)
----VintCode.h(533B)
----Debug()
--------VintCode.obj(17KB)
--------VintCode.pdb(681KB)
--------vc60.idb(81KB)
--------main.obj(12KB)
--------VintCode.exe(240KB)
--------vc60.pdb(100KB)
--------VintCode.ilk(356KB)
--------VintCode.pch(2MB)
----VintCode.plg(2KB)
----VintCode.opt(49KB)