首页
社区
课程
招聘
[旧帖] [讨论]文件的高压缩率是怎么做到的? 0.00雪花
发表于: 2011-4-8 01:04 5019

[旧帖] [讨论]文件的高压缩率是怎么做到的? 0.00雪花

2011-4-8 01:04
5019
遇见过把3个G的视频文件压缩成不到一个G的压缩包,据网上传言有些格式的文件能达到5%的压缩率(这个我没遇见过)……这么高的压缩率是怎么做到的呢?用什么软件?大家说说吧~~网上说的那些用RAR实现高压缩率的方法我都试过,并不好使……

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 387
活跃值: (76)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
压缩算法你懂的
2011-4-8 01:20
0
雪    币: 55
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
楼上的,我不懂,求解
2011-4-8 01:39
0
雪    币: 252
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不同的文件,选择不不同的压缩软件 会有不同的效果。就像网上有些教程一样,某些压缩算法软件针对图形压缩效果理想对其他的不乐观了,反之
2011-4-8 06:51
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
上下过一个几百k的rar文件,解压后有80多m。是一个软件的安装程序
2011-4-8 08:35
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我其实是想压缩系统映像文件来着,试了一些软件都没什么作用,难不成要用有损压缩?
2011-4-8 10:02
0
雪    币: 785
活跃值: (418)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
如果源文件是文本文件,wav,BMP,文件越大,压缩率越高。
因为很多信息是重复的。可压缩很多。
如果你的源文件只有1个字节,用压缩后文件不但不会变小,还会变大,呵呵。
我所了解的压缩算法只有一种。
一种是哈夫曼,另一种是LZ(了解不多)
哈夫曼是基于统计的,先统计出文件中,各种值的单字节(双字节,四字节)出现的频率,然后建立哈夫曼树,将出现频率最高的采用最短的编码,来表示。出现频率最低的用最长的编码来表示。

LZ是重用,一段字节串,重复的次数越多,则压缩率越高,不同于哈夫曼的定长统计。LZ的统计是不定长的。(理解不知对不对)
2011-4-8 10:36
0
雪    币: 785
活跃值: (418)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
有损压缩不能用来压缩系统映像文件吧?还原不回去了。。。
2011-4-8 10:54
0
雪    币: 387
活跃值: (76)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
其实我也就懂霍夫曼编码,还是静态的,动态的都不懂。。
2011-4-8 10:57
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
嗯,其实一些游戏压缩包能有非常高的压缩率就是因为里面大量的音频用的是有损压缩,所以我才这么说的,不过用来压缩系统映像的话的确可能弄不回去了……
2011-4-8 11:52
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
把1G的文件压缩到1M文件技术

  我是在网上找的第三步在十六进制工具中找到原来的十进制数值我还没学会,原因就是在十六进制中高低位位置倒换我还不会.谁要是学会了告诉我一下呵呵 这里笔者从自己的电脑里随便找了个文件“数字图像噪声和去除.htm”,这是笔者在浏览网页时使用另存为功能从网上下载的文章,大小为125KB。

      
第一步:压缩为ZIP文件。右键单击“数字图像噪声和去除.htm”文件,选择“WinRAR→添加到档案文件”,在压缩选项对话框中选择“档案文件类型”为“ZIP”,“压缩方式”为“最好”,单击“确定”开始压缩。可以看到压缩后的“数字图像噪声和去除.zip”文件只有19KB,压缩率还不错,不过仍离我们的目标相去甚远。  

第二步用WinRAR打开“数字图像噪声和去除.zip”,记下“大小”列中显示的原文件大小数值“127594”,打开计算器程序,单击“查看”菜单选择“科学型”,输入数字“127594”,再点击“十六进制”选项将其转换为16进制值,结果是“1F26A”。用科学型计算器认真算一下 

第三步:用UltraEdit编辑器打开“数字图像噪声和去除.zip”文件,我们要在文件中找到“1F26A”的数据,不过由于文件中的十六进制数是高低位倒置表示的,所以我们要查找的数据就变成了“6AF201”,单击“搜索”菜单中的“替换”,将文件中的“6AF201”替换为“FFFFFF”,共替换两处,文件开头和结尾各一处,替换后保存文件修改。

替换数值小提示:
 我们前面之所以要选择ZIP压缩格式,而不是直接使用RAR压缩格式,是因为WinRAR对RAR格式的CRC检验非常严格,对文件进行任何修改都会提示压缩错误,而使用ZIP格式压缩,修改后再用WinRAR打开时不会进行严格的CRC检验,没有任何错误提示。

第四步:现在再用WinRAR打开“数字图像噪声和去除.zip”文件,你会惊奇地发现,压缩包中显示的原文件体积达到了16777KB,也就是16MB!现在你明白我们第三步中所做修改的目的了吧,我们就是要把原文件从“蟋蟀”变成“大象”!而且,现在你把压缩包中的“数字图像噪声和去除.htm”文件解压出来,其文件体积仍然是16MB,而且可以正常打开浏览。谜底揭晓了

第五步:接下来就很简单了,把这个修改后的ZIP格式变成RAR格式即可,如果用WinRAR“工具”菜单中的“转换档案文件格式”功能转换后的压缩比会稍微缩小,这里我们直接将“数字图像噪声和去除.zip”改名为“数字图像噪声和去除.rar”,就做成了最开始看到的那个超级压缩包。

3.文件压缩原理
   文件压缩分为有损压缩和无损压缩两种,我们常用的WinRAR、WinZip都是属于无损压缩,其基本原理都是一样的,简单地说也就是把文件中的重复数据用更简洁的方法表示,例如一个文件中有1000个字母A,那么这将占用1KB的数据空间,如果用压缩算法就可以用1000A来表示,那么它只需要5个字节的数据空间,压缩比达到了200倍。

  那么由此看来,1000倍甚至更高倍的压缩比是可以实现的,但要求源文件必须有足够多的重复数据。不过,我们平时使用的文件都不可能是这样的,所以通常文件压缩比都在10倍以下,如果某个软件声称对任何文件都能够产生这种超高压缩比的话,那它肯定就是具有欺骗性质的了。

   很多网上下载的文件只有300MB或400MB,但是解压后,居然可以达到2GB甚至更多,也许你会奇怪,为什么你用WinRAR压缩同样的文件,就没有这样的压缩效果呢?其实这是因为这些文件是用多款不同的压缩软件进行压缩的,用压缩音频最好的压缩软件压缩音频文件,用压缩动画最好的压缩软件压缩动画文件。而且在压缩时所选的参数也是最佳的,这样也就保证了最后生成的压缩文件是最小的.

PS:非原创但个人感觉非常受用固与大家同享之
2011-4-8 13:21
0
雪    币: 785
活跃值: (418)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
原来是这样,感觉是BUG。。。
2011-4-8 16:48
0
游客
登录 | 注册 方可回帖
返回
//