‘壹’ 什么是压缩为什么要压缩
为什么要压缩?
我们可以从压缩的历史谈起。
早期的电脑无论是硬盘空间还是磁盘空间都小得可怜。比如93年的时候,一台0.5GB空间的硬盘的个人电脑在国内就已经算是海量空间了。
那个时候,普遍使用磁盘(如3寸盘,就是现在仍常见磁盘,对应电脑上的A驱驱动器;5寸盘,现在已经被淘汰,对应电脑上的B区驱动器。现在的电脑为什么只有A盘,没有B盘,接着就到了C盘就是这个原因)作为外部存储介质。
众所周知,一张软盘的存储量只有1.44MB,容量非常小。在光盘还没有诞生的时候,一些游戏、软件要安装的话往往需要很多软盘。我至今还有一套那时候的轩辕剑2的游戏,共有20余张磁盘,安装时要挨个磁盘安装,非常麻烦。
因为容量的限制,促使各程序员开始开发各种压缩软件对软件进行压缩。其实与压缩相关的有两道程序,第一道程序是压缩,第二道程序则是解压缩。
软件压缩的原理:在电脑中,一切东西都是数字的,声音也好、图像也好,软件也好,实际上通通都只是一些二进制代码,所谓数码数码,数码相片、数码音频,也是这个道理。
所谓压缩,以数码图片为例,就是将把要压缩的图像的二进制代码中冗长的、重复的代码遵循一定的算法用简短的代码来代替。比如00002可能代表的是“黑色”,那么我们可以将软件中凡是涉及“黑色”的代码的00002通过02来替换,这样02比起00002是不是占的空间要小?省了好几个字符空间呢。这里仅是一个例子,软件中的冗长的、重复的代码如果都按一定的算法用简短的代码来替换的话,最后重新生成的软件一定会小得多。这个重新生成图片,就是压缩后的图片。这个过程,就叫做压缩。
图片如此,软件、音频、视频亦是如此。
至于算法,则是固定的,压缩软件既包括算法数据库,又包括压缩功能。所以,一台电脑只需要一个压缩软件就够了,要压缩其它资源就由这个压缩软件完成。
一般而言,被压缩的文件是不能直接运行的,那是因为它的代码都被简化了,计算机是不能直接识别的。被压缩了的文件只是变小了空间而已,是不能直接使用的。
要想再使用这些压缩过的文件,你必须解压缩。
解压缩这些文件还是要用到对应的压缩它们的压缩软件。解压缩的过程正好和压缩的过程相反。同样是通过一定的算法,将简短的代码还原回程序的真正的代码,这样程序的大小会恢复到压缩前的大小,解压后的文件也就可以正常使用。(很多朋友可能会说WINRAR压缩的文件是可以直接使用的,不过如果你仔细观察,运行一个程序会看到一个进度条,还要等一段时间才能运行,这个过程实际上就是一个解压的过程,只不过它是把文件自动解压到了一个不容易找到的临时文件夹,你看不到这些解压后的文件而已)。
文件经过压缩后,所占空间会大大减小,有的压缩软件可以让软件的大小减少一半,有的压缩软件甚至能将软件压缩至原先大小的六分之一。
压缩技术另一个发展高潮是在互联网刚刚兴起和刚刚引进我国的时候。那个时候因为网速非常慢,所以人们自然希望在网上下载的软件越小越好,因为越小花的时间就越少,花的上网费也就越少。
不仅如此,至今你都会发现各大网站提供的软件多是压缩过了的,压缩过的文件大小变小,自然比原文件下载起来快。
文件下载下来后,你再通过你已经安装过的压缩软件运行就OK了。
是的,没有对应的压缩软件的话,你下载下来的被压缩软件也是没有用的。
现在,随着数码技术的发展,压缩技术也在不断发展,因为硬盘和光盘的空间毕竟是有限的,而游戏、音频、视频、图片远远非常占据空间,所以压缩技术前景非常广阔并且不断在发展。
‘贰’ 压缩包是什么与文件夹有什么区别
文件夹是把一定的文件放在一起以便于管理,比如文件夹“MP3”,那你的里面肯定会放上音乐、铃声...不然的话,那这些音乐、铃声就会分散在电脑里,很不好找。
而压缩包则是把一些文件压缩在一起,使用时解一下压,不仅容量变小并且便于上传和管理。譬如你下载了一个压缩包,使用解压后的文件,但后来被自己误删了某个文件导致程序不可用,那你就可以用压缩包再次进行解压并覆盖原文件即可,不必再重新下载了;尤其是一些大的文件,重新下载很耗时,有了压缩包可省事了。
压缩包作用:
1、节省磁盘空间;
2、可以把多个文件压缩成一个压缩包,此功能在发送邮件时用处比较大,因为邮件附件多个文件通常要一个个的上传,把多个文件压缩成一个压缩包后就可以完成一次上传了;
3、可以把一个大文件分解压缩成多个小压缩包,此功能在文件拷贝中作用比较大,比如所你现在有个300M的文件需要拷贝到别的电脑中,而你的优盘只有256M,这时候你就可以用压缩软件把文件分成两个150M的压缩包然后分别拷贝就行了;
4、此外部分软件如WinRAR可以实现对文件的压缩保密保护,就是在形成压缩包的时候添加解压密码,这样生成的压缩包别人没有密码是无法打开的,可以起到一定的文件保密作用。
‘叁’ 压缩文件是什么意思
简单的说,就是经过压缩软件压缩的文件叫压缩文件,压缩的原理是把文件的二进制代码压缩,把相邻的0,1代码减少,比如有000000,可以把它变成6个0
的写法60,来减少该文件的空间。
■怎么压缩文件?
首先要安装压缩软件,现在比较流行的是WinRAR“一种高效快速的文件压缩软件(中文版)”。
其次是建立一个压缩包:选择你要制作成压缩包的文件或文件夹,当然你也可也多选,方法同资源管理器,也就是按住Ctrl或Shift再选择文件(文件夹)。
选取完毕之后,就可以单击工具栏上的“压缩”按钮,在这里你可以选择压缩格式:RAR和ZIP。
如果你想得到较大的压缩率,建议选择RAR格式。
各个选项选择好以后,单击确定按钮就开始制作压缩包了,非常方便。
有时候大家会遇到这个问题,就是你在一个论坛里要上传一些文件压缩包,压缩包大小有3M,但是论坛限制会员上传大小只有2M,怎么办呢?
其实办法很简单,就是在你压缩这个文件时,分成几个带分卷压缩包,分卷包大小设置为2M即可,比如:原来文件名为123.rar(3M),压缩成分卷包后为123.part1.rar(2M)与123.part2.rar(1M)两个文件,这样你就可以上传了。
具体方法如下:
1、在要压缩的文件上点右键
2、添加到压缩文件....
3、选常规
4、压缩方式选最好
5、批定压缩分卷大小(按字节计算),1M
=
1024K,1K
=
1024字节,填写数字即可
当你下载了带有分卷的压缩包后,如何解压文件呢?
具体方法如下:
1、把所有的压缩分卷全部下载完整
2、所有分卷必须在同一个文件夹内
3、然后双击解压第一个分卷,即可
注:分卷解压的文件必须是连续的,若分卷未下载完整,则解压时自然会提示需要下一压缩分卷
TOMMY
贡士
最佳答案
-
由投票者8个月前选出
压缩工具
WinRAR,流行好用的
Windows
压缩工具
WinRAR
是一个强大的压缩文件管理工具。它能备份你的数据,减少你的
E-mail
附件的大小,解压缩从Internet上下载的
RAR、ZIP
和其他格式的压缩文件,并能创建
RAR
和
ZIP
格式的压缩文件。在购买之前,你可以下载试用版本。
软件介绍
WINRAR
是目前流行的压缩工具,界面友好,使用方便,在压缩率和速度方面都有很好的表现。其压缩率比高,3.x
采用了更先进的压缩算法,是现在压缩率较大、压缩速度较快的格式之一。
3.3
增加了扫描压缩文件内病毒、解压缩“增强压缩”
ZIP
压缩文件的功能,
升级了分卷压缩的功能等。
主要特点:
1、
对
RAR
和
ZIP
的完全支持;
2、
支持
ARJ、CAB、LZH、ACE、TAR、GZ、UUE、BZ2、JAR、ISO
类型文件的解压;
3、
多卷压缩功能;
4、
创建自解压文件,可以制作简单的安装程序,使用方便;
5、
压缩文件大小可以达到
8,589,934
TB;
6、
锁定和强大的数据恢复记录功能,对数据的保护无微不至,新增的恢复卷的使用功能更强大
‘肆’ 压缩文件是什么意思
RAR是一种文件压缩与归档的私有文件格式,用于数据压缩与归档打包,简单的说就是将原有的文件数据经过压缩处理之后保存为RAR文件格式后缀名,通常Windows用户比较常见的压缩软件WinRAR,通过使用WinRAR对文件数据进行压缩后默认保存的文件格式就是RAR格式。
RAR 是一种专有的文件格式,用于文件的压缩、归档与打包。RAR 的全名是:Roshal Archive(即“罗谢尔的归档”之意),其开发者是尤金·罗谢尔(Eugene Roshal)。首个公开版本 RAR 1.3 发布于1993年。
(4)压缩的是什么东西扩展阅读
运行原理
从互联网上下载了许多程序和文件,可能会遇到很多ZIP文件。这种压缩机制是一种很方便的发明,尤其是对网络用户,因为它可以减小文件中的比特和字节总数,使文件能够通过较慢的互联网连接实现更快传输,此外还可以减少文件的磁盘占用空间。
在下载了文件后,计算机可使用WinZip或Stuffit这样的程序来展开文件,将其复原到原始大小。如果一切正常,展开的文件与压缩前的原始文件将完全相同。
‘伍’ 压缩和解压到底是什么意思
压缩的意思是像压缩饼干那样,将数据所需的存储空间缩小,增大硬盘的可用空间。
解压:与压缩相对应,我们压缩后的文件是不能正常打开使用的,必须先进行解压,然后才能正常被我们所使用。
‘陆’ 压缩是什么意思
一堆衣服摊在床上,很乱,占得空间很大
你用压缩工具把衣服叠起来,很整齐,空间占用变小
像电脑这样的衣柜就可以装下更多的文件
‘柒’ 手机压缩包是什么意思,那些东西可以删除吗
压缩包就是把文件压缩之后的文件。
压缩包的基本原理是查找文件内的重复字节,并建立一个相同字节的“词典”文件,并用一个代码表示,比如在文件里有几处有一个相同的词“中华人民共和国”,用一个代码表示并写入“词典”文件,这样就可以达到缩小文件的目的。
二、压缩包简介:
1、压缩包,比普通的文件占用的空间小。比如普通文件占1M空间,通过压缩压成压缩包后,可能只占100K空间。
2、压缩包里是文件。打开压缩包看一下,如果里面的文件没用,就删掉,有用就留下。
3、压缩包里的文件肯定不是应用程序,都是文档、图片等。是由用户自己决定删除不删除的。
压缩包的原理:
如果从互联网上下载了许多程序和文件,可能会遇到很多压缩文件。这种压缩机制是一种很方便的发明,尤其是对网络用户,因为它可以减小文件中的比特和字节总数,使文件能够通过较慢的互联网连接实现更快传输,此外还可以减少文件的磁盘占用空间。在下载了文件后,计算机可使用WinRar或Stuffit这样的程序来展开文件,将其复原到原始大小。如果一切正常,展开的文件与压缩前的原始文件将完全相同。压缩包是计算机压缩文件、文件夹的载体。
无论是什么压缩软件,其目的就只有一个:减少冗余数据。例如某行字是“000011111”,就可以压缩为“0(4)1(5)”,在保证数据没有受损的同时,减少其占用的体积。
‘捌’ 什么是压缩文件
简单的说,就是经过压缩软件压缩的文件叫压缩文件,压缩的原理是把文件的二进制代码压缩,把相邻的0,1代码减少,比如有000000,可以把它变成6个0 的写法60,来减少该文件的空间。安装压缩软件首先要安装压缩软件,现在比较流行的是WinRAR“一种高效快速的文件压缩软件(中文版)”。 在要压缩的文件上点右键其次是建立一个压缩包:选择你要制作成压缩包 WinRAR压缩文件的文件或文件夹,当然你也可也多选,方法同资源管理器,也就是按住Ctrl或Shift再选择文件(文件夹)。 添加到压缩文件.... 选常规选取完毕之后,就可以单击工具栏上的“压缩”按钮,在这里你可以选择压缩格式:RAR和ZIP。 如果你想得到较大的压缩率,建议选择RAR格式。 各个选项选择好以后,单击确定按钮就开始制作压缩包了,非常方便。 批定压缩分卷大小( 按字节计算),1M = 1024K,1K = 1024字节,填写数字即可。 有时候大家会遇到这个问题,就是你在一个论坛里要上传一些文件压缩包,压缩包大小有3M,但是论坛限制会员上传大小只有2M,怎么办呢? 其实办法很简单,就是在你压缩这个文件时,分成几个带分卷压缩包,分卷包大小设置为2M即可,比如:原来文件名为123.rar(3M),压缩成分卷包后为123.part1.rar(2M)与123.part2.rar(1M)两个文件,这样你就可以上传了。 编辑本段怎么解压缩文件?当你下载了带有分卷的压缩包后,如何解压文件呢? Zip压缩文件具体方法如下: 1、把所有的压缩分卷全部下载完整 2、所有分卷必须在同一个文件夹内 3、然后双击解压第一个分卷,即可注:分卷解压的文件必须是连续的若分卷未下载完整,则解压时自然会提示需要下一压缩分卷 编辑本段WINRAR软件介绍WinRAR,流行好用的 Windows 压缩工具! WinRAR 是一个强大的压缩文件管理工具。它能备份你的数据,减少你的 E-mail 附件的大小,解压缩从Internet上下载的 RAR、ZIP 和其他格式的压缩文件,并能创建 RAR 和 ZIP 格式的压缩文件。在购买之前,你可以下载试用版本。 WINRAR 是目前流行的压缩工具,界面友好,使用方便,在压缩率和速度方面都有很好的表现。其压缩率比高,3.x 采用了更先进的压缩算法,是现在压缩率较大、压缩速度较快的格式之一。 3.3 增加了扫描压缩文件内病毒、解压缩“增强压缩” ZIP 压缩文件的功能, 升级了分卷压缩的功能等。 编辑本段主要特点1、 对 RAR 和 ZIP 的完全支持; 2、 支持 ARJ、CAB、LZH、ACE、TAR、GZ、UUE、BZ2、JAR、ISO 类型文件的解压; 3、 多卷压缩功能; 4、 创建自解压文件,可以制作简单的安装程序,使用方便; 5、 压缩文件大小可以达到 8,589,934 TB; 6、 锁定和强大的数据恢复记录功能,对数据的保护无微不至,新增的恢复卷的使用功能更强大 编辑本段压缩文件的运行原理有损压缩和无损压缩 无损压缩如果您从互联网上下载了许多程序和文件,可能会遇到很多ZIP文件。这种压缩机制是一种很方便的发明,尤其是对网络用户,因为它可以减小文件中的比特和字节总数,使文件能够通过较慢的互联网连接实现更快传输,此外还可以减少文件的磁盘占用空间。在下载了文件后,计算机可使用WinZip或Stuffit这样的程序来展开文件,将其复原到原始大小。如果一切正常,展开的文件与压缩前的原始文件将完全相同。 乍一听好像很神秘:您是怎样减少比特和字节的数量并将它们原封不动地还原回去的呢?等一切水落石出之后,您会发现这个过程背后的基本理念其实非常简单明了。在本文中,我们将讨论这种通过简单压缩来明显减小文件的方法。 大多数计算机文件类型都包含相当多的冗余内容——它们会反复列出一些相同的信息。文件压缩程序就是要消除这种冗余现象。与反复列出某一块信息不同,文件压缩程序只列出该信息一次,然后当它在原始程序中出现时再重新引用它。 以我们熟悉的信息类型——单词——为例子。 肯尼迪(John F. Kennedy)在1961年的就职演说中曾说过下面这段着名的话: Ask not what your country can do for you——ask what you can do for your country.(不要问国家能为你做些什么,而应该问自己能为国家做些什么。) 这段话有17个单词,包含61个字母、16个空格、1个破折号和1个句点。如果每个字母、空格或标点都占用1个内存单元,那么文件的总大小为79个单元。为了减小文件的大小,我们需要找出冗余的部分。 我们立刻发现: 如果忽略大小写字母间的区别,这个句子几乎有一半是冗余的。九个单词(ask、not、what、your、country、can、do、for、you)几乎提供了组成整句话所需的所有东西。为了构造出另一半句子,我们只需要拿出前半段句子中的单词,然后加上空格和标点就行了。 大多数压缩程序使用基于自适应字典的LZ算法来缩小文件。“LZ”指的是此算法的发明者Lempel和Ziv,“字典”指的是对数据块进行归类的方法。 排列字典的机制有很多种,它也可以像编号列表那样简单。在我们检查肯尼迪这句着名讲话时,可以挑出重复的单词,并将它们放到编号索引中。然后,我们直接写入编号而不是写入整个单词。 因此,如果我们的字典是: ask what your country can do for you 我们的句子现在就应该是这样的: 1 not 2 3 4 5 6 7 8-- 1 2 8 5 6 7 3 4 如果您了解这种机制,那么只需使用该字典和编号模式即可轻松重新构造出原始句子。这就是在展开某个下载文件时,计算机中的解压缩程序所做的工作。你可能还遇到过能够自行解压缩的压缩文件。若要创建这种文件,编程人员需要在被压缩的文件中设置一个简单的解压缩程序。在下载完毕后,它可以自动重新构造出原始文件。 但是使用这种机制究竟能够节省多少空间呢?“1 not 2 3 4 5 6 7 8——1 2 8 5 6 7 3 4”当然短于“Ask not what your country can do for you-- ask what you can do for your country.”,但应注意的是,我们需要随文件一起保存这个字典。 在实际压缩方案中,计算出各种文件需求是一个相当复杂的过程。让我们回过头考虑一下上面的例子。每个字符和空格都占用1个内存单元,整个原句要占用79个单元。压缩后的句子(包括空格)占用了37个单元,而字典(单词和编号)也占用了37个单元。也就是说,文件的大小为74个单元,因此我们并没有把文件大小减少很多。 但这只是一个句子的情况!可以想象的是,如果用该压缩程序处理完肯尼迪讲话的其余部分,我们会发现这些单词以及其他单词重复了更多次。而且,正如下一节所言,为了得到尽可能高的组织效率,可以对字典进行重写。 在上一个的例子中,我们挑出了所有重复的单词并将它们放在一个字典中。对于我们来说,这是最显而易见的字典编写方法。但是压缩程序却不这样认为:它对单词没有概念——它只会寻找各个模式。为了尽可能减小文件的大小,它会仔细挑选出最优模式。 如果从这个角度处理该句子,我们最终会得到一个完全不同的字典。 如果压缩程序扫描肯尼迪的这句话,它遇到的第一个冗余部分只有几个字母长。在ask not what your中,出现了一个重复的模式,即字母t后面跟一个空格——在not和what中。如果压缩程序将此模式写入字典,则每次出现“t”后面跟一个空格的情况时,它会写入一个“1”。但是在这个短句中,此模式的出现次数不够多,不足以将其保留为字典中的一个条目,因此程序最终会覆盖它。 程序接下来注意到的内容是ou,在your和country中都出现了它。如果这是一篇较长的文档,将此模式写入字典会节省大量空间——在英语中ou是一个十分常见的字母组合。但是在压缩程序看完整个句子后,它立即发现了一个更好的字典条目选择:不仅ou发生了重复,而且your和country整个单词都发生了重复,并且它们实际上是作为一个短语your country一起发生重复的。在本例中,程序会用your country条目覆盖掉字典中的ou条目。 短语can do for也发生了重复,一次后面跟着your,另一次跟着you,因此我们又发现can do for you也是一种重复模式。这样,我们可以用一个数字来代替15个字符(包含空格),而your country只允许我们用一个数字代替13个字符(包含空格),所以程序会用r country条目覆盖your country条目,然后再写入一个单独的can do for you条目。程序通过这种方式继续工作,挑出所有重复的信息,然后计算应该将哪一种模式写入字典。基于自适应字典的LZ算法中的“自适应”部分指的就是这种重写字典的能力。程序执行此工作的过程实际上非常复杂。 无论使用什么方法,这种深入搜索机制都能比仅仅挑出单词这种方法更有效率地对文件进行压缩。如果使用我们上面提取出的模式,然后用“__”代替空格,最终将得到下面这个更大的字典: ask__ what__ you r__country __can__do__for__you 而句子则较短: “1not__2345__--__12354” 句子现在占用18个内存单元,字典占用41个单元。所以,我们将文件总大小从79个单元压缩到了59个单元!这仅仅是压缩句子的一种方法,而且不一定是最高效的方法。(看看您能找到更好的方法吗!) 那么这种机制到底有多好呢?文件压缩率取决于多种因素,包括文件类型、文件大小和压缩方案。 在世界上的大多数语言中,某些字母和单词经常以相同的模式一起出现。正是由于这种高冗余性,而导致文本文件的压缩率会很高。通常大小合适的文本文件的压缩率可以达到50%或更高。大多数编程语言的冗余度也很高,因为它们的命令相对较少,并且命令经常采用一种设定的模式。对于包含大量不重复信息的文件(例如图像或MP3文件),则不能使用这种机制来获得很高的压缩率,因为它们不包含重复多次的模式。 如果文件有大量重复模式,那么压缩率通常会随着文件大小的增加而增加。从我们的例子中就可以看出这一点——如果我们摘录的肯尼迪讲话再长一些,您会发现又多次出现了我们字典中的模式,因此能够通过每个字典条目节省更多的文件空间。此外,对于更大的文件,还可能出现具有更大普遍性的模式,从而能够创建出效率更高的字典。 此外,文件压缩效率还取决于压缩程序使用的具体算法。有些程序能够在某些类型的文件中更好地寻找到模式,因此能更有效地压缩这些类型的文件。其他一些压缩程序在字典中又使用了字典,这使它们在压缩大文件时表现很好,但是在压缩较小的文件时效率不高。尽管这一类的所有压缩程序都基于同一个基本理念,但是它们的执行方式却各不相同。程序开发人员始终在尝试建立更好的压缩机制。 有损压缩我们在上文中讨论的压缩类型称为无损压缩,因为您重新创建的文件与原始文件完全相同。所有无损压缩都基于这样一种理念:将文件变为“较小”的形式以利于传输或存储,并在另一方收到它后复原以便重新使用它。 有损压缩则与此大不相同。这些程序直接去除“不必要”的信息,对文件进行剪裁以使它变得更小。这种类型的压缩大量应用于减小位图图像的文件大小,因为位图图像的体积通常非常庞大。为了了解有损压缩的工作原理,让我们看看你的计算机如何对一张扫描的照片进行压缩。 对于此类文件,无损压缩程序的压缩率通常不高。尽管图片的大部分看起来都是相同的——例如,整个天空都是蓝色的——但是大部分像素之间都存在微小的差异。为了使图片变得更小同时不降低其分辨率,您必须更改某些像素的颜色值。如果图片中包含大量的蓝色天空,程序会挑选一种能够用于所有像素的蓝色。然后,程序重写该文件,所有天空像素的值都使用此信息。如果压缩方案选择得当,您不会注意到任何变化,但是文件大小会显着减小。 当然,对于有损压缩,在文件压缩后您无法将其复原成原始文件的样子。您必须接受压缩程序对原始文件的重新解释。因此,如果需要完全重现原来的内容(例如软件应用程序、数据库和总统就职演说),则不应该使用这种压缩形式
‘玖’ “winRAR压缩文件”是什么东西
就是由WinRAR软件创建的压缩文件。 以下内容来源于网络====================WinRAR是一个文件压缩管理共享软件,由Eugene Roshal(所以RAR的全名是:Roshal ARchive)开发。首个公开版本RAR 1.3发布于1993年。Pocket RAR是为Pocket PC平台发布的免费软件。它是仅有的几个可以读写RAR文件的软件之一,因为它保留版权。 Eugene Roshal,1972年3月10日生于俄罗斯。毕业于俄罗斯车里雅宾斯克工业大学(Chelyabinsk Technical University),也是FAR文件管理器的作者。他开发程序压缩/解压RAR文件,最初用于DOS,后来移植到其它平台。主要的Windows版本编码器,称为WinRAR,以共享软件的形式发行。不过Roshal公开了解码器源码,UnRAR解码器许可证允许有条件自由发布与修改(条件:不许发布编译RAR兼容编码器)。而RAR编码器一直是有专利的。 最近的开发者是Alexander Roshal。虽然其解码器有专利,编译好的解压程序仍然存在于若干平台,例如开源的7-Zip。尽管业界普遍混乱,似乎没有纯开源模块能解压版本超过2.0的RAR文件 WinRAR 内置程序可以解开 CAB、ARJ、LZH、TAR、GZ、ACE、UUE、BZ2、JAR、ISO、Z 和 7Z 等多种类型的档案文件、镜像文件和 TAR 组合型文件;具有历史记录和收藏夹功能;新的压缩和加密算法,压缩率进一步提高,而资源占用相对较少,并可针对不同的需要保存不同的压缩配置;固定压缩和多卷自释放压缩以及针对文本类、多媒体类和 PE 类文件的优化算法是大多数压缩工具所不具备的;使用非常简单方便,配置选项也不多,仅在资源管理器中就可以完成你想做的工作;对于 ZIP 和 RAR 的自释放档案文件,点击属性就可以轻易知道此文件的压缩属性,如果有注释,还能在属性中查看其内容;对于 RAR 格式(含自释放)档案文件提供了独有的恢复记录和恢复卷功能,使数据安全得到更充分的保障。 WinRAR 是共享软件。任何人都可以在40天的测试期内使用它。如果你希望在测试过期之后继续使用 WinRAR,你必须注册。 它没有其它附加的许可费用。除了与创建和发布 RAR压缩文件或自解压格式压缩文件相关的注册成本之外,没有其它附加许可费用。合法的注册用户可以使用他们的 RAR副本制作发布压缩文件而无须任何附加的 RAR 版税。 如果你注册了 WinRAR,可以免费升级所有的最新版本。 目前最新的 WinRAR 版本为 WinRAR 4.01 正式版。这个目前仍是要收费的。 运行环境:Windows 9x 及以上版本。
‘拾’ 压缩是干什么的
加以压力,以减小体积、大小、持续时间、密度和浓度等
压缩是一种通过特定的算法来减小计算机文件大小的机制。这种机制是一种很方便的发明,尤其是对网络用户,因为它可以减小文件的字节总数,使文件能够通过较慢的互联网连接实现更快传输,此外还可以减少文件的磁盘占用空间
压缩(compression)是为了减少数据大小以节省保存空间和传输的时间。为了数据的传输,压缩能够作用于单独的数据内容或者所有的传输单元(包括数据头),这取决于一些特定的因素。
内容压缩很简单,它就是移除多余的空白字符,插入单个的重复字符指出一个字符串中重复的字符,以及将小型的位串用频繁使用的字符替代。这种类型的压缩能够将文本文件的大小减少50%。压缩由使用特定公式和算法的程序来执行,它确定如何压缩和解压数据。利用算法将文件有损或无损地处理,以达到保留最多文件信息,而令文件体积变小。压缩文件的基本原理是查找文件内的重复字节,并建立一个相同字节的"词典"文件,并用一个代码表示,比如在文件里有几处有一个相同的词"中华人民共和国"用一个代码表示并写入"词典"文件,这样就可以达到缩小文件的目的软件。由于计算机处理的信息是以二进制数的形式表示的,因此压缩软件就是把二进制信息中相同的字符串以特殊字符标记来达到压缩的目的。为了有助于理解文件压缩,请您在脑海里想象一幅蓝天白云的图片。对于成千上万单调重复的蓝色像点而言,与其一个一个定义“蓝、蓝、蓝……”长长的一串颜色,还不如告诉电脑:“从这个位置开始存储1117个蓝色像点”来得简洁,而且还能大大节约存储空间。这是一个非常简单的图像压缩的例子。其实,所有的计算机文件归根结底都是以“1”和“0”的形式存储的,和蓝色像点一样,只要通过合理的数学计算公式,文件的体积都能够被大大压缩以达到“数据无损稠密”的效果。总的来说,压缩可以分为有损和无损压缩两种。如果丢失个别的数据不会造成太大的影响,这时忽略它们是个好主意,这就是有损压缩。有损压缩广泛应用于动画、声音和图像文件中,典型的代表就是影碟文件格式mpeg、音乐文件格式mp3和图像文件格式jpg。但是更多情况下压缩数据必须准确无误,人们便设计出了无损压缩格式,比如常见的zip、rar等。压缩软件(compression software)自然就是利用压缩原理压缩数据的工具,压缩后所生成的文件称为压缩包(archive),体积只有原来的几分之一甚至更小。当然,压缩包已经是另一种文件格式了,如果你想使用其中的数据,首先得用压缩软件把数据还原,这个过程称作解压缩。常见的压缩软件有Winzip、WinRAR等。
有两种形式的重复存在于计算机数据中,zip就是对这两种重复进行了压缩。
第一种
一种是短语形式的重复,即三个字节以上的重复,对于这种重复,zip用两个数字:1.重复位置距当前压缩位置的距离;2.重复的长度,来表示这个重复,假设这两个数字各占一个字节,于是数据便得到了压缩,这很容易理解。
一个字节有 0 - 255 共 256 种可能的取值,三个字节有 256 * 256 * 256 共一千六百多万种可能的情况,更长的短语取值的可能情况以指数方式增长,出现重复的概率似乎极低,实则不然,各种类型的数据都有出现重复的倾向,一篇论文中,为数不多的术语倾向于重复出现;一篇小说,人名和地名会重复出现;一张上下渐变的背景图片,水平方向上的像素会重复出现;程序的源文件中,语法关键字会重复出现(我们写程序时,多少次前后、paste?),以几十 K 为单位的非压缩格式的数据中,倾向于大量出现短语式的重复。经过上面提到的方式进行压缩后,短语式重复的倾向被完全破坏,所以在压缩的结果上进行第二次短语式压缩一般是没有效果的。
第二种
第二种重复为单字节的重复,一个字节只有256种可能的取值,所以这种重复是必然的。其中,某些字节出现次数可能较多,另一些则较少,在统计上有分布不均匀的倾向,这是容易理解的,比如一个 ASCII 文本文件中,某些符号可能很少用到,而字母和数字则使用较多,各字母的使用频率也是不一样的,据说字母 e 的使用概率最高;许多图片呈现深色调或浅色调,深色(或浅色)的像素使用较多(这里顺便提一下:png图片格式是一种无损压缩,其核心算法就是 zip 算法,它和 zip 格式的文件的主要区别在于:作为一种图片格式,它在文件头处存放了图片的大小、使用的颜色数等信息);上面提到的短语式压缩的结果也有这种倾向:重复倾向于出现在离当前压缩位置较近的地方,重复长度倾向于比较短(20字节以内)。这样,就有了压缩的可能:给 256 种字节取值重新编码,使出现较多的字节使用较短的编码,出现较少的字节使用较长的编码,这样一来,变短的字节相对于变长的字节更多,文件的总长度就会减少,并且,字节使用比例越不均匀,压缩比例就越大。
常用的压缩软件和压缩格式
编辑
常用压缩软件
WinMount、WinRAR、WinZip、7-Zip 、coolrar
常见压缩文件格式
主要有:rar,zip,tar,cab,uue,jar,iso,z,7-zip,ace,lzh,arj,gzip,bz2等压缩文件。
经过压缩软件压缩的文件叫压缩文件,压缩的原理是把文件的二进制代码压缩,把相邻的0,1代码减少,比如有000000,可以把它变成6个0 的写法60,来减少该文件的空间。
JAR
JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式。JAR 文件非常类似 ZIP 文件——准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。
ZIP
ZIP应该算是最常见的压缩文件格式了,你甚至不需要单独为它安装一个压缩或者解压缩软件,因为我们使用的Windows系统以及集成了对ZIP压缩格式的支持。
RAR
虽然ZIP在压缩文件格式中地位很高,但相当多的下载网站都选择了用RAR格式来压缩他们的文件,最根本的原因就在于RAR格式的文件压缩率比ZIP更高。
7Z作为压缩格式的后起新秀,7Z有着比RAR更高的压缩率,能够将文件压缩的更加小巧。不过因为RAR格式已经高度普及,又没有网络普及的“天时”相助,7Z想要取代RAR的地位还是相当不容易的。
CAB
CAB是微软的一种安装文件压缩格式,主要应用于软件的安装程序中。因为涉及到安装程序,所以cab文件中包含的文件通常都不是简单的直接压缩,而是对文件名等都进行了处理,所以虽然可以对其直接解压缩,但解压后得到的文件通常都无法直接使用。
ISO
很多朋友都认为ISO是一种压缩格式,这源于WinRAR添加了对ISO格式“解压”的支持。而实际上,ISO并不是压缩格式,它之中所包含的文件也并没有经过压缩。ISO只是一种光盘的镜像格式,完全复制并保存了光盘上的内容而已。所谓的对ISO“解压”的过程,不过就是对ISO内文件的提取过程。
TAR
tar为后辍的文件能用WinZip或WinRAR打开,是因为WinZip或WinRar对.tar文件进行了关联,也就是指可以用相应的解压软件将其解压。
.tar是linux下较为常用的压缩文件的格式,并不是什么数据库文件。
UUE
uue是一种在遇到邮件编码混合引起乱码的情况下比较有用的压缩格式,可以用WinZip或者WinRAR打开。
上面我们主要只介绍了常用的压缩文件。
压缩基本原理
编辑
概述
如果您从互联网上下载了许多程序和文件,可能会遇到很多ZIP文件。这种压缩机制是一种很方便的发明,尤其是对网络用户,因为它可以减小文件中的比特和字节总数,使文件能够通过较慢的互联网连接实现更快传输,此外还可以减少文件的磁盘占用空间。在下载了文件后,计算机可使用WinZip或Stuffit这样的程序来展开文件,将其复原到原始大小。如果一切正常,展开的文件与压缩前的原始文件将完全相同。 乍一听好像很神秘:您是怎样减少比特和字节的数量并将它们原封不动地还原回去的呢?等一切水落石出之后,您会发现这个过程背后的基本理念其实非常简单明了。在本文中,我们将讨论这种通过简单压缩来明显减小文件的方法。
大多数计算机文件类型都包含相当多的冗余内容——它们会反复列出一些相同的信息。文件压缩程序就是要消除这种冗余现象。与反复列出某一块信息不同,文件压缩程序只列出该信息一次,然后当它在原始程序中出现时再重新引用它。
举例
以我们熟悉的信息类型——单词——为例子。
肯尼迪(John F. Kennedy)在1961年的就职演说中曾说过下面这段着名的话:
Ask not what your country can do for you——ask what you can do for your country.(不要问国家能为你做些什么,而应该问自己能为国家做些什么。)
这段话有17个单词,包含61个字母、16个空格、1个破折号和1个句点。如果每个字母、空格或标点都占用1个内存单元,那么文件的总大小为79个单元。为了减小文件的大小,我们需要找出冗余的部分。
我们立刻发现:
如果忽略大小写字母间的区别,这个句子几乎有一半是冗余的。九个单词(ask、not、what、your、country、can、do、for、you)几乎提供了组成整句话所需的所有东西。为了构造出另一半句子,我们只需要拿出前半段句子中的单词,然后加上空格和标点就行了。
大多数压缩程序使用基于自适应字典的LZ算法来缩小文件。“LZ”指的是此算法的发明者Lempel和Ziv,“字典”指的是对数据块进行归类的方法。
排列字典的机制有很多种,它也可以像编号列表那样简单。在我们检查肯尼迪这句着名讲话时,可以挑出重复的单词,并将它们放到编号索引中。然后,我们直接写入编号而不是写入整个单词。
结论
因此,如果我们的字典是:
ask
what
your
country
can
do
for
you
我们的句子就应该是这样的:
1 not 2 3 4 5 6 7 8-- 1 2 8 5 6 7 3 4
如果您了解这种机制,那么只需使用该字典和编号模式即可轻松重新构造出原始句子。这就是在展开某个下载文件时,计算机中的解压缩程序所做的工作。你可能还遇到过能够自行解压缩的压缩文件。若要创建这种文件,编程人员需要在被压缩的文件中设置一个简单的解压缩程序。在下载完毕后,它可以自动重新构造出原始文件。
但是使用这种机制究竟能够节省多少空间呢?“1 not 2 3 4 5 6 7 8——1 2 8 5 6 7 3 4”当然短于“Ask not what your country can do for you-- ask what you can do for your country.”,但应注意的是,我们需要随文件一起保存这个字典。
在实际压缩方案中,计算出各种文件需求是一个相当复杂的过程。让我们回过头考虑一下上面的例子。每个字符和空格都占用1个内存单元,整个原句要占用79个单元。压缩后的句子(包括空格)占用了37个单元,而字典(单词和编号)也占用了37个单元。也就是说,文件的大小为74个单元,因此我们并没有把文件大小减少很多。
但这只是一个句子的情况!可以想象的是,如果用该压缩程序处理完肯尼迪讲话的其余部分,我们会发现这些单词以及其他单词重复了更多次。而且,正如下一节所言,为了得到尽可能高的组织效率,可以对字典进行重写。
在上一个的例子中,我们挑出了所有重复的单词并将它们放在一个字典中。对于我们来说,这是最显而易见的字典编写方法。但是压缩程序却不这样认为:它对单词没有概念——它只会寻找各个模式。为了尽可能减小文件的大小,它会仔细挑选出最优模式。
如果从这个角度处理该句子,我们最终会得到一个完全不同的字典。
如果压缩程序扫描肯尼迪的这句话,它遇到的第一个冗余部分只有几个字母长。在ask not what your中,出现了一个重复的模式,即字母t后面跟一个空格——在not和what中。如果压缩程序将此模式写入字典,则每次出现“t”后面跟一个空格的情况时,它会写入一个“1”。但是在这个短句中,此模式的出现次数不够多,不足以将其保留为字典中的一个条目,因此程序最终会覆盖它。
程序接下来注意到的内容是ou,在your和country中都出现了它。如果这是一篇较长的文档,将此模式写入字典会节省大量空间——在英语中ou是一个十分常见的字母组合。但是在压缩程序看完整个句子后,它立即发现了一个更好的字典条目选择:不仅ou发生了重复,而且your和country整个单词都发生了重复,并且它们实际上是作为一个短语your country一起发生重复的。在本例中,程序会用your country条目覆盖掉字典中的ou条目。
短语can do for也发生了重复,一次后面跟着your,另一次跟着you,因此我们又发现can do for you也是一种重复模式。这样,我们可以用一个数字来代替15个字符(包含空格),而your country只允许我们用一个数字代替13个字符(包含空格),所以程序会用r country条目覆盖your country条目,然后再写入一个单独的can do for you条目。程序通过这种方式继续工作,挑出所有重复的信息,然后计算应该将哪一种模式写入字典。基于自适应字典的LZ算法中的“自适应”部分指的就是这种重写字典的能力。程序执行此工作的过程实际上非常复杂。
无论使用什么方法,这种深入搜索机制都能比仅仅挑出单词这种方法更有效率地对文件进行压缩。如果使用我们上面提取出的模式,然后用“__”代替空格,最终将得到下面这个更大的字典:
ask__
what__
you
r__country
__can__do__for__you
而句子则较短:
“1not__2345__--__12354”
句子占用18个内存单元,字典占用41个单元。所以,我们将文件总大小从79个单元压缩到了59个单元!这仅仅是压缩句子的一种方法,而且不一定是最高效的方法。(看看您能找到更好的方法吗!)
优势
编辑
那么这种机制到底有多好呢?文件压缩率取决于多种因素,包括文件类型、文件大小和压缩方案。
在世界上的大多数语言中,某些字母和单词经常以相同的模式一起出现。正是由于这种高冗余性,而导致文本文件的压缩率会很高。通常大小合适的文本文件的压缩率可以达到50%或更高。大多数编程语言的冗余度也很高,因为它们的命令相对较少,并且命令经常采用一种设定的模式。对于包含大量不重复信息的文件(例如图像或MP3文件),则不能使用这种机制来获得很高的压缩率,因为它们不包含重复多次的模式。
如果文件有大量重复模式,那么压缩率通常会随着文件大小的增加而增加。从我们的例子中就可以看出这一点——如果我们摘录的肯尼迪讲话再长一些,您会发现又多次出现了我们字典中的模式,因此能够通过每个字典条目节省更多的文件空间。此外,对于更大的文件,还可能出现具有更大普遍性的模式,从而能够创建出效率更高的字典。
此外,文件压缩效率还取决于压缩程序使用的具体算法。有些程序能够在某些类型的文件中更好地寻找到模式,因此能更有效地压缩这些类型的文件。其他一些压缩程序在字典中又使用了字典,这使它们在压缩大文件时表现很好,但是在压缩较小的文件时效率不高。尽管这一类的所有压缩程序都基于同一个基本理念,但是它们的执行方式却各不相同。程序开发人员始终在尝试建立更好的压缩机制。
有损压缩和无损压缩
编辑
我们在上文中讨论的压缩类型称为无损压缩,因为您重新创建的文件与原始文件完全相同。所有无损压缩都基于这样一种理念:将文件变为“较小”的形式以利于传输或存储,并在另一方收到它后复原以便重新使用它。
有损压缩则与此大不相同。这些程序直接去除“不必要”的信息,对文件进行剪裁以使它变得更小。这种类型的压缩大量应用于减小位图图像的文件大小,因为位图图像的体积通常非常庞大。为了了解有损压缩的工作原理,让我们看看你的计算机如何对一张扫描的照片进行压缩。
对于此类文件,无损压缩程序的压缩率通常不高。尽管图片的大部分看起来都是相同的——例如,整个天空都是蓝色的——但是大部分像素之间都存在微小的差异。为了使图片变得更小同时不降低其分辨率,您必须更改某些像素的颜色值。如果图片中包含大量的蓝色天空,程序会挑选一种能够用于所有像素的蓝色。然后,程序重写该文件,所有天空像素的值都使用此信息。如果压缩方案选择得当,您不会注意到任何变化,但是文件大小会显着减小。
当然,对于有损压缩,在文件压缩后您无法将其复原成原始文件的样子。您必须接受压缩程序对原始文件的重新解释。因此,如果需要完全重现原来的内容(例如软件应用程序、数据库和总统就职演说),则不应该使用这种压缩形式。