压缩文件的基本原理

社区服务
高级搜索
猴岛论坛电脑百科压缩文件的基本原理
发帖 回复
正序阅读 最近浏览的帖子最近浏览的版块
3个回复

压缩文件的基本原理

楼层直达
葫芦山庄

ZxID:20317541

等级: 下士
举报 只看楼主 使用道具 楼主   发表于: 2012-11-26 0
一个字节有 0 - 255 共 256 种可能的取值,三个字节有 256 * 256 * 256 共一千六百多万种可能的情况,更长的短语取值的可能情况以指数方式增长,出现重复的概率似乎极低,实则不然,各种类型的数据都有出现重复的倾向,一篇论文中,为数不多的术语倾向于重复出现;一篇小说,人名和地名会重复出现;一张上下渐变的背景图片,水平方向上的像素会重复出现;程序的源文件中,语法关键字会重复出现(我们写程序时,多少次前后copy、paste?),以几十 k 为单位的非压缩格式的数据中,倾向于大量出现短语式的重复。经过上面提到的方式进行压缩后,短语式重复的倾向被完全破坏,所以在压缩的结果上进行第二次短语式压缩一般是没有效果的。

第二种重复为单字节的重复,一个字节只有256种可能的取值,所以这种重复是必然的。其中,某些字节出现次数可能较多,另一些则较少,在统计上有分布不均匀的倾向,这是容易理解的,比如一个 ascii 文本文件中,某些符号可能很少用到,而字母和数字则使用较多,各字母的使用频率也是不一样的,据说字母 e 的使用概率最高;许多图片呈现深色调或浅色调,深色(或浅色)的像素使用较多(这里顺便提一下:png 图片格式是一种无损压缩,其核心算法就是 zip 算法,它和 zip 格式的文件的主要区别在于:作为一种图片格式,它在文件头处存放了图片的大小、使用的颜色数等信息);上面提到的短语式压缩的结果也有这种倾向:重复倾向于出现在离当前压缩位置较近的地方,重复长度倾向于比较短(20字节以内)。这样,就有了压缩的可能:给 256 种字节取值重新编码,使出现较多的字节使用较短的编码,出现较少的字节使用较长的编码,这样一来,变短的字节相对于变长的字节更多,文件的总长度就会减少,并且,字节使用比例越不均匀,压缩比例就越大。

电脑杀毒 http://www.fanhang.net
落羽6606

ZxID:21648414

等级: 新兵
举报 只看该作者 地板   发表于: 2012-11-26 0
反正回贴可以升级  

也可以赚经验跟DB 而升级又需要经验跟DB  

我就把这句话复制下来  

遇贴就回,捞DB就闪
.相濡

ZxID:20515763

等级: 中将
举报 只看该作者 板凳   发表于: 2012-11-26 0
不错
熱情与愛!

ZxID:17991197

等级: 大将

举报 只看该作者 沙发   发表于: 2012-11-26 0
谢谢 分 享
« 返回列表
发帖 回复