1、文件压缩介绍及原理
目前网络上有两种常见的压缩格式:一种是Zip,另一种是EXE。其中Zip的压缩文件可以通过WinZip这套解压缩工具进行解压缩,而EXE则是属于自解压文件,只要用鼠标双击这类下载后的文件图标(若您的Windows98属于Web风格,则只需按一下),便可以自动解压缩。因为EXE文件内含解压缩程序,因此会比Zip略大一些。若想充分考虑到文件容量的大小,其实Zip是一个较佳的选择。
目前压缩技术可分为通用无损数据压缩与有损压缩两大类,但不管是采用何种技术模型,其本质内容都是一样的,即都是通过某种特殊的编码方式将数据信息中存在的重复度、冗余度有效地降低,从而达到数据压缩的目的。比如:“中国”是“中华人民共和国”的简称,但前者的字数是2,后者则是7,但我们都不会对它们俩所要表达的意思产
生误解,这是因为前者保留了信息中最“关键点”。同时,作为有思维能力的人类,我们可以根据前后词汇关系和知识积累,就可推断出其原来的全部信息。压缩技术也一样,在不影响文件的基本使用的前提下,只保留原数据中一些“关键点”,去掉了数据中的重复的、冗余的信息,从而达到压缩的目的。这就是文件压缩技术所要遵循的最基本原理。
例如:一个文件的内容是11100000000...000001111(中间有一万个零),你要完全写出来的话,会很长很长,但如果你写“111一万个零1111”来描述它,也能得到同样的信息,但却只有十一个字,这样就减小了文件体积。
在具体应用中很少有这样的文件存在,那些文件都相当复杂,根据一定的数学算法,权衡把哪段字节用一个特定的更小字节代替,就可以实现数据最大程度的无损压缩.计算机处理的信息是以二进制数的形式表示的,因此压缩软件就是把二进制信息中相同的字符串以特殊字符标记来达到压缩的目的。
总的来说,压缩可以分为有损和无损压缩两种。如果丢失个别的数据不会造成太大的影响,这时忽略它们是个好主意,这就是有损压缩。有损压缩广泛应用于动画、声音和图像文件中,典型的代表就是影碟文件格式MPEG、音乐文件格式MP3和图像文件格式JPG。
2、压缩原理
很多人都惊异于压缩技术的神奇,一个文件被压缩成一半大小,何以能无损还原呢?
早期使用的压缩技术都基于统计模型,到20世纪80年代初基于字典压缩的新技术才慢慢推广开来。
数据压缩包含了非常多的软件和硬件技术,这些技术各不相同,但是大多数压缩软件都是基于LZ77、LZ88算法并加以修正而成,而LZ77是字典压缩的起源。大家都知道一个文本文件是由一些单词组成,而且必定有重复现象发生,例如我们这里经常出现的“压缩软件”一词,压缩的原理就是在文件的头部做一个类似字典的东西,把“压缩软件”这个词放在“字典”中,并为这个词指定一个占较少字节数的编码,而文章中的“压缩软件” 一词均用此编码代替,以达到压缩的目的。当然压缩软件在实际运作中并非如此简单,还要使用一些看了就头痛的演算方法,在此就不一一细述。也许有人会问,文本文件可用字典技术,那其它文件怎么办呢。这就无须操心了,因为对于压缩软件来说,一个文件中的“数据压缩”一词和“@#¥%^” 是一样的,关键在于冗余码(重复部分)的多少。
3、压缩常识
按压缩方式分:有所谓的“透明压缩”和“打包压缩”。
“透明压缩”一般针对.exe和.com文件,直接压缩。成功的话,文件体积变小,功能不变,运行速度还可能更快。但是,这种压缩方法的对象面很窄。如果压缩失败,还会造成文件不可用。所以,这一类程序总是强烈要求用户在压缩前将文件备份。
“打包压缩”就是现在常提到的压缩软件使用的压缩法。它把一个或多个文件压缩成一个文件——压缩包。要使用压缩后的文件,必须先解压将文件复原。它的特点是风险小,适用于减小不常用的文件所占空间和传输数据。
当然,按照压缩算法,我们还可以将压缩分成很多种。
一般我们在谈到压缩时,会提到许多相关术语,下面我们就提出一些常见的术语进行解释。
压缩格式:压缩文件时使用的压缩编码方法不同,压缩生成的文件结构就不同,这种压缩文件结构就称压缩格式。
压缩比率:文件压缩后占用的磁盘空间与原文件的比率称压缩比率。在常用的压缩格式中,RAR格式压缩比率较高,ZIP格式较低。但ZIP格式的文件操作速度较快。
解压:将压缩文件还原为本来的文件格式,也称释放、扩展。
压缩包:一般将通用压缩格式的文件称为压缩包,如ZIP格式压缩文件。这种文件可以在压缩工具的管理下对包中压缩的文件进行管理,如查看、删除、添加等。
打包:将文件压缩成通用压缩格式的压缩包文件称为打包,也指将文件压缩添加到压缩包。
多卷压缩:将压缩的文件包分成几个压缩文件称为多卷压缩,一般是为了将压缩文件储存在多个软磁盘上或方便网上传输。
自解压文件:将文件压缩生成可执行的文件,然后在没有压缩工具的帮助下,通过执行压缩的文件,就可将自己的源文件解压还原出来。
4、压缩文件格式
目前流行着多种压缩文件格式,下面我们就来看看到底有哪些吧!
ZIP:目前最流行的压缩文件格式(在Internet上,ZIP文件已经取得了绝对胜利。在日常操作中,除专门的压缩软件之外,许多文件管理程序,如Windows Commander等也都支持ZIP格式)。我们可利用WinZip对ZIP文件进行解压、释放等操作,还可以用它来处理ARJ、ARC、CAB、LZH等多种不同格式的压缩文件,从而大大地方便了用户的操作。
RAR:是一种高效(压缩比率高)快速的文件压缩格式,但不被大多数文件压缩程序支持,WinRAR是在Windows下处理RAR格式文件的最好工具。
ACE:一种新式的压缩程序,压缩比很高。
另外,MP3、MPEG、JPG等音频、视频、图像格式的文件也都采用了压缩技术,从理论上来说它们也应该算压缩文件,不过它们所采用的压缩方式并不相同,这里简单地介绍一下:
JPEG:JPEG 全名为 Joint Photographic Experts Group,它是一个在国际标准组织(ISO)下从事静态影像压缩标准制定的委
员会。它制定出了第一套国标静态影像压缩标准:ISO 10918-1 就是我们俗称的JPEG了。由於JPEG优良的品质,使得它在短
短的几年内就获得极大的成功,目前网站上80%的影像都是采用JPEG的压缩标准。
JPEG 2000:正式名称为“ISO 15444”,同样是由JPEG 组织负责制定。JPEG 2000与传统 JPEG 最大的不同,在于它放弃了JPEG所采用的以离散余弦转换为主的区块编码方式,而改以小波转换为主的多解析编码方式。其压缩率比 JPEG高约30%左右,同时支持有损和无损压缩,无损压缩对保存一些重要图片十分有用。
MP3:这个大家应该都认识它了,MP3全称是MPEG 1 Layer 3,是一种高性能的声音压缩编码方案,它可以做出超小“体积”的音乐文件,大小只是原始音频数据的1/10到1/12。但人耳听起来,效果却没有太大差异。它一出世就几乎占领了电脑音乐
领域,由于MP3的出现,过去在因特网上半小时才能下载完的一首歌曲,现在以MP3格式仅需短短的几分钟就可以“搞定”。
MPEG:MPEG是Moving Pictures Experts Group(动态图像专家组)的缩写。
现在使用的有4个版本:MPEG-1、MPEG-2、MPEG-3、MPEG-4。