有趣的假设,让MIME编码和WinRAR或WinZip软件结合,把文件压缩到百分之一,但是行不通,不知我错在哪儿?(20分)

  • 主题发起人 主题发起人 zqw0117
  • 开始时间 开始时间
Z

zqw0117

Unregistered / Unconfirmed
GUEST, unregistred user!
MIME编码可以将任何文件编译成一串串字符组成的文本文件,而WinRAR或WinZip等压缩软件
对于纯文本的压缩通常比例很高。于是我突发奇想,何不将大的文件用MIME编码,然后用
WinRAR或WinZip压缩,再将这个已经压缩了的RAR文件或ZIP文件再次用MIME编码,接着再次
用WinRAR或WinZip压缩……如此反复,岂不是可以将任何大的文件压缩到一个最小值?而且
可能就是原来的百分之一。

可是我试着做了的,发现WinRAR和WinZip对于已经编译了的MIME编码文件(其实就是文本文
件)的压缩率通常只有百分之50,而且进行第二次MIME编码压缩加WinRAR或WinZip压缩时,
体积竟然比原来还大!这个猜想有错误吗?请教大家,我错在哪里?先谢谢大家了!

抱歉,我的分数不多,以后补上,谢谢大家!
 
这就是伪科学。以前有人发现用hd映像的磁盘IMG文件再压缩,压缩率可以达到原来的1%,
结果解开经常问题,原因是pkzip有bug。
winzip针对txt压缩效率高是因为大部分的文本文件里面有很多重复的内容(字、单词)等

-----
http://www.8421.org
 
但是MIME编码中也有很多重复的字符呀!那么可以这样猜测吗?加入能够编写一个适合
MIME编码的压缩算法,这个假设还是成立的,对吗?
 
哦,对了,虽然上面我说的压缩第二遍会变大,可是好像解压和还原没有问题。
 
字符重复是没用的,只有有很多块重复或者连续的重复才有用
mime编码理论上没有增加也没有减少文件的复杂度
 
呵呵,其实我现在觉得这个假设不成立。不过有一个假设成立,就是按照分段方式把文件按照MD5加密(每个MD5计算字符后得到的字符是一样长的),不过这样的话,应该再也无法解密了!呵呵,因为MD5是单项散列算法!
 
世界万物都是有极限的,压缩也是有极限的,编码少于一定的量之后就不能忠实的反映原文件了,设想100个字符的文件,能压缩到用1个字符表示吗?
 
zhanghb兄说得有道理。
 
嗯.
要有点哲学观.
 
而且进行第二次MIME编码压缩加WinRAR或WinZip压缩时,
体积竟然比原来还大!

其实Mime编码后,文本文件比原来文件的尺寸要大1/3左右,而这个文本没什么相同的字符,RAR压速不了多少,所以。。。导致变大。
 
压缩要起作用,关键是文件中连续的重复的内容较多。
经过第一次压缩后,连续且重复的内容已经很少了,
因此压缩率低。加少编码压缩块的开销,有时反而会增大内容。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
641
import
I
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部