※ 引述《flower42 (loop)》之铭言:
: 压缩档顾名思义让档案变小
: 变得更好传输
: 有去google但是有点难懂
: RAR压缩档的原理到底是什么的八卦?
不知道原Po是不是真得想要钓鱼
不过最近刚好有学到这一块就来现学现卖认真回一下
如有错误 还请各位纠正
压缩档案顾名思义就是将原有的档案的大小缩小
档案的大小缩小除了可以让D槽存更多片片外,在网络上的传输也很重要。
早期网络不发达时频宽不足 ,
传些小东西就要花很长的时间,
如果能将档案变小 ,那就可以省下不少的时间了。
而就算到了今天,
网络发展让大多数人都不需要为频宽不足而烦恼,
却也还有行动网络的存在,
档案小也意味着传输时耗费的网络流量较小。
由此可见压缩的技术在档案的保存和传输上有多大的影响。
接着进入正题
其实压缩的技术千百种,
不同的公司也有自己的算法,
但其实都不会脱离一个大概念
就是将资料从新编码。
举个例子来说 ,
假设我们现在要压缩的是一段英文的纯文字:
GGININDER
在这里我先用个我流的压缩规则来讲解:
当遇到字母时如果是还没遇过的就给予一个数字的编号
如果是遇过的就用同一个编号 并用二进制表示
用这个规则的话 原本的文字压缩后就会变成
0 0 1 10 1 10 11 100 101
G G I N I N D E R
(手机排版 如果有跑掉还请见谅)
或许这看起来跟原本差不多,
不过我们要知道的是 ,
不论是用ASCII(一个字母1 byte)或是unicode(一个字母4byte)做为文字的编码 ,
都比我们上面最多只用到3bit的编码来得大。
当然这只是一个很粗略的方法。
其它还有像是霍夫曼编码这种比较严谨的编码方式。
有兴趣的话可以上网查查资料,
在此我就不赘述了。
最后还有一点要补充 。
或许会有人想说,
如果压缩的内容不同 ,编码不就可能不一样了,
那我在解压缩的时候
怎么知道你哪个字是编成什么码?
为了解决这个问题,
所以其实在档案压缩后会自动附带一个“解码表”,让解压缩端知道要如何去解压缩这个
档案。
所以当我们要压缩的档案太小的时候
因为必须加上“解码表”的大小
遇到压缩后的档案比原本的档案大也是有可能的。
作者:
Benbenyale (想讓è²é¯å›æ›´çˆ½â™¥)
2015-09-16 03:54:00yoyodiy叔早就知道
看过一个压缩档400M 解下去近十G的东西...这什么技术
作者:
twdvdr (风中的一粒沙)
2015-09-16 03:56:00grant790110 文字挡的压缩比比较高
作者:
uuuujoe (Joe)
2015-09-16 03:56:00专业
作者: ninggo (穿着裤子的男人) 2015-09-16 03:57:00
yoyo把五楼的老二压成,rar
不不...那全是图档..是某游戏的H event 和sys 相关档
作者:
saiulbb (Becky♪#是我的拉!)
2015-09-16 03:59:00快推文不然会以为不知道
作者:
jetzake (加菲猫)
2015-09-16 03:59:00我猜grant790110的原始档案大多是BMP 这压缩率可以很惊人
你们在那边瞎猜 为什么不直接请教专业人士YOYO呢不要在那边瞎猜了 去请教专业的
作者: kevin31a2 (3等士官长 士兵督导长) 2015-09-16 04:05:00
大概连续7个1占7byte改写成7和1占两byte?
作者:
pasdor (Black snake Moan)
2015-09-16 04:10:00d碟是三小。本岛只有d槽
作者:
doom3 (ⓓⓞⓞⓜ③ )
2015-09-16 04:14:00近十G的垃圾档案阿 连续0之类的 让你不好COPY
的确是BMP 压缩档包著压缩档 全部解开是很惊人的量..
作者:
ls4860 (我是熟番)
2015-09-16 04:22:00据说yoyo大是因为当初用rar把珍藏几TB的d槽加密 结果想尻的时候忘记密码 才发愤写出绕过的程式 果然人性是进化的动力伟哉~yoyodiy!!
作者: dostey (Dos) 2015-09-16 04:25:00
===就看谁能找越小化 规则(数学解=算法)
解完了...总大小23.5G.. 4个子压缩档含13万8864个BMP缩好后457MB 真是太神奇了
作者: office7845 (hung) 2015-09-16 04:39:00
一个字典档4.4g解压后13g,发明压缩实在惊人
作者:
jetzake (加菲猫)
2015-09-16 04:39:00grant790110兄 其实你直接把图都转成jpeg差不多就是这样不过jpeg档不能直接叠 可能是因为后续加工需要才保留BMP
作者:
Arminius (奇怪的欧吉桑)
2015-09-16 05:04:00400M算什么...当年台湾有个高中生天才, 可以将 17G 的资料压缩进去一片3.5吋磁片......
作者:
kyohel15 (Eugene)
2015-09-16 05:17:00是JEPG
作者: spirit557 (忧郁的叮当) 2015-09-16 05:39:00
谢谢yoyodiy绕过rar密码
比较先进的图档格式如jpg, png都经过高度压缩了,在用rar也压不多。bmp无压缩的就可压很多。
作者:
tedium (贫穷)
2015-09-16 07:37:00我每天寄十封信感谢yoyodiy无私的奉献
作者: pichu38 (皮丘) 2015-09-16 07:43:00
yoyodiy: