发新话题
打印

如何将1G的文件压缩成百兆?

如何将1G的文件压缩成百兆?

看看网上是如何将1G的文件压缩成百兆的?  {9 _4 j" g% n, t2 a% J6 i# F

$ t6 [* L) N3 g太原理工大学论坛[龙城水秀]最近在看到有一种能把文件压缩到千分之一大小的收费软件,而且还见到了这样的压缩包,的确压缩率非常大,我想知道这是真的还是假的?太原理工大学论坛[龙城水秀], i1 Q, a" M" |0 v
真有这么神奇吗?显然是不太可能,如果真的可以压缩到千分之一,那么这款软件要多么神奇呀。太原理工大学论坛[龙城水秀]+ ^% Z/ E, Y! \( O3 {6 y& d6 P

. X* i" A  C3 B. ]( `5 k1 e常见文件压缩& C: Q; J7 R( b- y& w
  首先我们用WinRAR的最高压缩率对常见的文本文件、程序文件和多媒体文件进行压缩,其压缩结果如下[attach]8715[/attach]
- e6 |! D: a! T+ I  R- ?! a/ |9 Q太原理工大学论坛[龙城水秀]从上图可以看出,多媒体文件压缩比最低,与原文件相差无几,而文本文件和程序文件压缩比要高一些,最高达到3:1,从实际经验来看,我们平时常见的文件压缩比都在10倍以下。
3 U3 `2 m7 G* \
9 c( ~6 q( z; O6 i$ Z8 d% x太原理工大学论坛[龙城水秀]  那么,再来看看这个RAR压缩包,注意其中的原文件大小和压缩后的包裹大小分别为16777215和18407,这是多大的比例?笔者用计算器算了一下,约等于911:1,接近1000倍的压缩比!这是怎么回事?真的假的?跟我一起继续做下面的试验就明白了。[attach]8716[/attach]
: P3 x- H5 o6 `' P4 k# N太原理工大学|太原理工大学论坛|太原理工大学BBS把大象装进瓶子里太原理工大学论坛[龙城水秀]6 ~  C: G+ Q/ ?7 k
太原理工大学论坛[龙城水秀]& D6 B5 L8 C5 @. G" W+ {
  这里笔者从自己的电脑里随便找了个文件“数字图像噪声和去除.htm”,这是笔者在浏览网页时使用另存为功能从网上下载的文章,大小为125KB。
* j$ g- b0 r) f% d3 a+ _" h太原理工大学|太原理工大学论坛|太原理工大学BBS  
! }" ~3 w1 v2 A) c  第一步:压缩为ZIP文件。右键单击“数字图像噪声和去除.htm”文件,选择“WinRAR→添加到档案文件”,在压缩选项对话框中选择“档案文件类型”为“ZIP”,“压缩方式”为“最好”,单击“确定”开始压缩。可以看到压缩后的“数字图像噪声和去除.zip”文件只有19KB,压缩率还不错,不过仍离我们的目标相去甚远。[attach]8717[/attach]
5 m8 t3 u( h! u9 s  S( _太原理工大学|太原理工大学论坛|太原理工大学BBS       第二步:用WinRAR打开“数字图像噪声和去除.zip”,记下“大小”列中显示的原文件大小数值“127594”,打开计算器程序,单击“查看”菜单选择“科学型”,输入数字“127594”,再点击“十六进制”选项将其转换为16进制值,结果是“1F26A”。[attach]8718[/attach]www.tyutbbs.com- K( o9 v' W' E! N2 `. ?% s7 [
       第三步:用UltraEdit编辑器打开“数字图像噪声和去除.zip”文件,我们要在文件中找到“1F26A”的数据,不过由于文件中的十六进制数是高低位倒置表示的,所以我们要查找的数据就变成了“6AF201”,单击“搜索”菜单中的“替换”,将文件中的“6AF201”替换为“FFFFFF”,共替换两处,文件开头和结尾各一处,替换后保存文件修改。 [attach]8719[/attach]
$ I; \$ |1 S9 t小提示:
6 M5 w' Q0 N8 N5 G" J4 @+ z
! x1 _2 q0 J9 ?# z( n; f3 T太原理工大学论坛[龙城水秀]  我们前面之所以要选择ZIP压缩格式,而不是直接使用RAR压缩格式,是因为WinRAR对RAR格式的CRC检验非常严格,对文件进行任何修改都会提示压缩错误,而使用ZIP格式压缩,修改后再用WinRAR打开时不会进行严格的CRC检验,没有任何错误提示。
" n7 _6 C" L- {9 M* ?8 e6 ?太原理工大学论坛[龙城水秀]太原理工大学,太原理工大学论坛6 j/ l* h+ S% J) d
       第四步:现在再用WinRAR打开“数字图像噪声和去除.zip”文件,你会惊奇地发现,压缩包中显示的原文件体积达到了16777KB,也就是16MB!现在你明白我们第三步中所做修改的目的了吧,我们就是要把原文件从“蟋蟀”变成“大象”!而且,现在你把压缩包中的“数字图像噪声和去除.htm”文件解压出来,其文件体积仍然是16MB,而且可以正常打开浏览。[attach]8720[/attach]# T& E0 S7 l, s! v
第五步:接下来就很简单了,把这个修改后的ZIP格式变成RAR格式即可,如果用WinRAR“工具”菜单中的“转换档案文件格式”功能转换后的压缩比会稍微缩小,这里我们直接将“数字图像噪声和去除.zip”改名为“数字图像噪声和去除.rar”,就做成了最开始看到的那个超级压缩包。
" n8 `3 o' N5 q# @8 }- B太原理工大学论坛[龙城水秀]文件压缩原理
# @/ W" Q! s0 \; D' s* A5 X1 F太原理工大学论坛[龙城水秀]太原理工大学|太原理工大学论坛|太原理工大学BBS7 c9 n% `3 ^; q' C! u
  文件压缩分为有损压缩和无损压缩两种,我们常用的WinRAR、WinZip都是属于无损压缩,其基本原理都是一样的,简单地说也就是把文件中的重复数据用更简洁的方法表示,例如一个文件中有1000个字母A,那么这将占用1KB的数据空间,如果用压缩算法就可以用1000A来表示,那么它只需要5个字节的数据空间,压缩比达到了200倍。
7 S4 Y! [4 F* f6 w+ K5 Y- W太原理工大学论坛[龙城水秀]
! T5 s  a0 K3 h! e8 swww.tyutbbs.com  那么由此看来,1000倍甚至更高倍的压缩比是可以实现的,但要求源文件必须有足够多的重复数据。不过,我们平时使用的文件都不可能是这样的,所以通常文件压缩比都在10倍以下,如果某个软件声称对任何文件都能够产生这种超高压缩比的话,那它肯定就是具有欺骗性质的了。
; W* S0 R$ o2 a1 M7 g7 j/ V( W' dwww.tyutbbs.com* O$ C5 `; e, J' j
  总结:很多网上下载的文件只有300MB或400MB,但是解压后,居然可以达到2GB甚至更多,也许你会奇怪,为什么你用WinRAR压缩同样的文件,就没有这样的压缩效果呢?其实这是因为这些文件是用多款不同的压缩软件进行压缩的,用压缩音频最好的压缩软件压缩音频文件,用压缩动画最好的压缩软件压缩动画文件。而且在压缩时所选的参数也是最佳的,这样也就保证了最后生成的压缩文件是最小的。

TOP

发新话题