万丈高楼平地起──压缩基础知识 2001年 26期 所谓压缩文件,它是在电脑中普遍使用的文件,是将普通的标准文件重新编码,生成一种尽量少占用磁盘空间的文件,这种文件就称为压缩文件。压缩文件格式让歌曲文件更小,更易于保存和在Internet上传播。压缩技术使得音频文件更易于存储和传播。音频文件的压缩一般是去除人类听觉范围之外的音频,这种压缩是一种有损压缩。举例来说,一个未经压缩的50MB的WAV文件,压缩成MP3、WMA或Mjuice(.MJF)文件时可能只有5MB。   #1压缩原理   很多人都惊异于压缩技术的神奇,一个文件被压缩成一半大小,何以能无损还原呢?   早期使用的压缩技术都基于统计模型,到20世纪80年代初基于字典压缩的新技术才慢慢推广开来。   数据压缩包含了非常多的软件和硬件技术,这些技术各不相同,但是大多数压缩软件都是基于LZ77、LZ88算法并加以修正而成,而LZ77是字典压缩的起源。大家都知道一个文本文件是由一些单词组成,而且必定有重复现象发生,例如我们这里经常出现的“压缩软件”一词,压缩的原理就是在文件的头部做一个类似字典的东西,把“压缩软件”这个词放在“字典”中,并为这个词指定一个占较少字节数的编码,而文章中的“压缩软件” 一词均用此编码代替,以达到压缩的目的。当然压缩软件在实际运作中并非如此简单,还要使用一些看了就头痛的演算方法,在此就不一一细述。也许有人会问,文本文件可用字典技术,那其它文件怎么办呢。这就无须操心了,因为对于压缩软件来说,一个文件中的“数据压缩”一词和“@#¥%^” 是一样的,关键在于冗余码(重复部分)的多少。   #1压缩常识   按压缩方式分:有所谓的“透明压缩”和“打包压缩”。   “透明压缩”一般针对.exe和.com文件,直接压缩。成功的话,文件体积变小,功能不变,运行速度还可能更快。但是,这种压缩方法的对象面很窄。如果压缩失败,还会造成文件不可用。所以,这一类程序总是强烈要求用户在压缩前将文件备份。   “打包压缩”就是现在常提到的压缩软件使用的压缩法。它把一个或多个文件压缩成一个文件——压缩包。要使用压缩后的文件,必须先解压将文件复原。它的特点是风险小,适用于减小不常用的文件所占空间和传输数据。当然,按照压缩算法,我们还可以将压缩分成很多种。   一般我们在谈到压缩时,会提到许多相关术语,下面我们就提出一些常见的术语进行解释。   压缩格式:压缩文件时使用的压缩编码方法不同,压缩生成的文件结构就不同,这种压缩文件结构就称压缩格式。   压缩比率:文件压缩后占用的磁盘空间与原文件的比率称压缩比率。在常用的压缩格式中,RAR格式压缩比率较高,ZIP格式较低。但ZIP格式的文件操作速度较快。   解压:将压缩文件还原为本来的文件格式,也称释放、扩展。   压缩包:一般将通用压缩格式的文件称为压缩包,如ZIP格式压缩文件。这种文件可以在压缩工具的管理下对包中压缩的文件进行管理,如查看、删除、添加等。   打包:将文件压缩成通用压缩格式的压缩包文件称为打包,也指将文件压缩添加到压缩包。   多卷压缩:将压缩的文件包分成几个压缩文件称为多卷压缩,一般是为了将压缩文件储存在多个软磁盘上或方便网上传输。   自解压文件:将文件压缩生成可执行的文件,然后在没有压缩工具的帮助下,通过执行压缩的文件,就可将自己的源文件解压还原出来。   #1压缩文件格式   目前流行着多种压缩文件格式,下面我们就来看看到底有哪些吧!   ZIP:目前最流行的压缩文件格式(在Internet上,ZIP文件已经取得了绝对胜利。在日常操作中,除专门的压缩软件之外,许多文件管理程序,如Windows Commander等也都支持ZIP格式)。我们可利用WinZip对ZIP文件进行解压、释放等操作,还可以用它来处理ARJ、ARC、CAB、LZH等多种不同格式的压缩文件,从而大大地方便了用户的操作。   RAR:是一种高效快速的文件压缩格式,但不被大多数文件压缩程序支持,WinRAR是在Windows下处理RAR格式文件的最好工具。   ARJ:由DOS下曾经红极一时的压缩软件ARJ压缩而成的文件格式,它具有功能强大、压缩率高等优点。到了现在的Windows时代,它已经没有了往日的辉煌。   CAB:是Windows 98新增的一种特殊压缩文件格式,主要用于对有关软件安装盘中的文件进行压缩,其特点是压缩率非常高(可能是目前最高的),但一经压缩就不能再进行任何增加、删除、替换等修改,也就是说它的压缩包具有“只读”属性。我们也可使用WinZip对CAB压缩包进行操作。   ??_:软件安装盘所采用的一种压缩文件方式,如*.ex_、*.dl_、*.d3_等,它们一般由系统直接解压并完成安装工作,无须用户操心。当然,我们也可使用DOS的EXPAND命令对*.??_文件进行释放操作。   UU/UUE:汉字编码方式,它们原本是Unix系统中使用的一种编码方式,后来被改写到DOS中,我们在传送中文邮件时只须事先使用该方式进行编码,此后就能顺利通过只能处理7位编码的邮件服务器,从而解决了汉字的传输问题。   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。