1 / 4
文档名称:

数据压缩算法.doc

格式:doc   大小:233KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据压缩算法.doc

上传人:小s 2022/6/4 文件大小:233 KB

下载得到文件列表

数据压缩算法.doc

相关文档

文档介绍

文档介绍:数据压缩算法
varint(数字)

数字压缩算法
算法逻辑:每个字节的首bit代表是否还需要下一位(0表示不需要,1表示需要),每个字节的可用位为7位

优点:对于int类型数值较小的数起到压缩作用,比如,数据压缩算法
varint(数字)

数字压缩算法
算法逻辑:每个字节的首bit代表是否还需要下一位(0表示不需要,1表示需要),每个字节的可用位为7位

优点:对于int类型数值较小的数起到压缩作用,比如,2的(3*7)次方以下的数字都能起到压缩作用,由于实际传输过程中,我们大多用到的都是小类型的int数值,故这种方法能起到压缩字符的作用。
缺点:
对于数值较大的数字,比如int类型,2的(4*7)次方以上的数字是需要5个字节来表示。
对于负值,如-1,本质上首位为1导致数极大,必须要5个字节才能表示。
(java)
32位加密算法:
staticvoidwrite32ForVarint(intvalue,byte[]buffer,intposition"
while(true){
if((value&~0x7F)==0){buffer[position++]=(byte)value;return;
}else{buffer[position++]=(byte)((value&0x7F)|0x80);//|0x80代表首位bit置1value>>>=7;
}
}
}
32位解密算法:
staticintread32ForVarint(byte[]buffer,intposition){
intresult=0;
for(intshift=0;shift<32;shift+=7){/这个32可以写29反正只要大于或等于28就行。finalbyteb=buffer[position++];
result|=(long)(b&0x7F)<<shift;
if((b&0x80)==0){
returnresult;
}
}
return-1;
}
zigzag(数字)

数字压缩算法
由于表示负数时,varint花费的字节太大,所以需要一种弥补办法,来解决这种冲突!由于考虑到varint之所以表示负数占用字节大,主要因为负数表示方法是首位且为1,而varint—般从末尾向前压缩,所以varint压缩负数通常很大,基于这种考虑,我们想到当数字为负数时,将首位挪到尾位,并按位取反把1全部变为0。最后在按照varint压缩字节,这样就能够使得我们可以用少量的字节表示值小的负数。

优点:相较于varint,能够用少量字节表示负数。
缺点:对于数值大的的正数或特别小的负数仍然需要大很多的字节数,且解析相较于varint需要更多逻辑。
(java)
编码:先转换int,然后在带入varint编码
staticinttransform32ForZigzag(intnum){
return(num<<1)八(num>>31);/看清楚"A"在java代表抑或的意思}
解码:先用varint解码,然后转换int
-8变长方案

最近更新

内蒙古自治区呼和浩特市古城中学高一化学测试.. 5页

如何运用自然元素打造原木风格 31页

内蒙古自治区呼和浩特市盆地青学校2020年高二.. 5页

本免费完整版影视作品制作合同 2页

学生管理及宿舍管理制度样本 12页

内蒙古自治区呼和浩特市赛罕区民族中学2022年.. 5页

内蒙古自治区赤峰市元宝山区平煤高级中学高二.. 5页

材料供应合同风险管理补充协议模板 3页

内蒙古自治区赤峰市宁城县天义中学高一英语模.. 3页

内蒙古自治区赤峰市市元宝山区平庄镇中学2022.. 3页

帷幕灌浆的施工工艺样本 10页

内蒙古自治区赤峰市沙布台苏木中学2021年高一.. 6页

内蒙古自治区赤峰市第七中学2021年高三化学月.. 6页

写字楼二次装修施工现场管理 2页

冬季皮肤补水小妙招--冬季皮肤保湿小妙招 3页

初一社会实践报告500 4页

初中教育实习自我鉴定 3页

加法运算定律课堂实录 6页

匆匆的读后感500字 3页

北京一零第一中学高三物理联考试卷含解析 6页

农业科技园区的规划设计构想 46页

2025年新员工入职转正申请书 9页

北京北师大二附属中学高三英语月考试卷含解析.. 4页

北京南口机车车辆机械厂职工子弟中学2022年高.. 5页

北京喇叭沟门满族中学2021年高一数学理上学期.. 6页

北京大兴区黄村第八中学2021年高一语文期末试.. 9页

北京天坛中学2020-2021学年高一物理下学期期末.. 6页

北京密云县巨各庄中学高二数学理上学期期末试.. 5页

北京密云第六中学高二数学理月考试卷含解析 5页

北京平谷县山东庄中学2021-2022学年高一数学理.. 7页