压缩文件为什么会变小?为什么还可以恢复?它的原理是什么?

如题所述

原理就是 文件在硬盘中是以0和1的形式存储的。比如说一个文件的内容是11100000000...000001111(中间有一万个零),你要完全写出来的话,会很长很长,但如果你写“111一万个零1111”来描述它,也能得到同样的信息,但却只有十一个字,这样就减小了文件体积。在具体应用中很少有这样的文件存在,那些文件都相当复杂,根据一定的数学算法,权衡把哪段字节用一个特定的更小字节代替,就可以实现数据最大程度的无损压缩
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-27
不一定会变小,有时还会变大。 RAR 文件的扩展名是 .rar ,MIME 类型是 application/x-rar-compressed 。同样是无损数据压缩,RAR 文件通常比 ZIP 文件压缩比要高,但是压缩速度较慢。因为RAR文件头也要占据一定空间,在数据压缩余地不大时,压缩过的文件可能比原文件要大。RAR 的一个主要优点是可以把文件压缩目标分割到多个文件,并且很容易从这样的分割的压缩文件解压出源文件。另外,RAR 也支持紧缩格式,把所有文件压缩到同一个数据区以加大压缩比,代价是解压一个单独的文件时必须解压其前面的所有文件。新的 RAR 的加密算法使用的是 AES ,而旧的 RAR 的加密算法是私有的。这两种算法都很难破解,所以在没有密码的情况下只能用字典暴力破解法来破解。 RAR 中也可以加入冗余的修复信息,在文件损坏但是修复信息足够完好时可以对压缩包进行修复。本回答被网友采纳
第2个回答  2013-07-27
把相同的文件合并
第3个回答  推荐于2017-09-28
文件压缩分为有损压缩和无损压缩两种,常用的WinRAR、WinZip都是属于无损压缩,其基本原理都是一样的,简单地说也就是把文件中的重复数据用更简洁的方法表示,例如一个文件中有1000个字母A,那么这将占用1KB的数据空间,如果用压缩算法就可以用1000A来表示,那么它只需要5个字节的数据空间,压缩比达到了200倍。
那么由此看来,1000倍甚至更高倍的压缩比是可以实现的,但要求源文件必须有足够多的重复数据。不过,我们平时使用的文件都不可能是这样的,所以通常文件压缩比都在10倍以下,如果某个软件声称对任何文件都能够产生这种超高压缩比的话,那它肯定就是具有欺骗性质的了。
很多网上下载的文件只有300MB或400MB,但是解压后,居然可以达到2GB甚至更多,也许会奇怪,为什么用WinRAR压缩同样的文件,就没有这样的压缩效果呢,其实这是因为这些文件是用多款不同的压缩软件进行压缩的,用压缩音频最好的压缩软件压缩音频文件,用压缩动画最好的压缩软件压缩动画文件。而且在压缩时所选的参数也是最佳的,这样也就保证了最后生成的压缩文件是最小的。