2010-07-02 49 views
29

出于好奇,是否存在一个有效的zip文件(根据格式规范),除了它自己以外什么都没有?只包含自身的Zip文件?

换句话说,unzip实现的功能是否有一个固定点?

我可以编写一个程序来以智能(非穷举)的方式搜索这样一个修复点吗?

我也考虑过相反的情况,也就是说,如果zip有一个固定点,但是大概一个文件可以用不同的方式压缩(不同的算法,不同的压缩级别等等),因此无论是否f = zip(f)对某些文件的保留f可能与实现有关。由于zip压缩是无损的,但unzip的情况应该可能有“正式”的答案。

有没有人探讨过这个?任何指向相关URL的指针都会受到赞赏。

+2

嗯...所以你正在寻找一个二进制文件,当“解压缩”,产生自己?有点像[quine](http://bit.ly/1s2Gwe)的排序? – 2010-07-02 21:39:23

+0

还有一个在网上浮动的gzip quine。 – 2011-07-12 02:21:41

回答

28

你可以阅读一下:http://research.swtch.com/2010/03/zip-files-all-way-down.html

在这里,你会发现r.zip,其中包含本身。

+1

哈!伟大的文章。谢谢。 – aioobe 2010-07-02 21:48:52

+0

我的荣幸:-) – 2010-07-02 21:52:36

+15

将文件发送给几个朋友....“这里的家伙,一张有趣的图片...这是一张位图,所以我压缩了它几次以缩小尺寸。” ;) – aioobe 2010-07-02 21:58:11

相关问题