2010-11-02 65 views
0

我們的首席執行官在會議中提出了這個問題,並強調在每臺電腦的正常情況下都有可能!壓縮文件後,新尺寸>舊尺寸* 100,這怎麼可能?

+3

這是一個模糊的問題。當你說「zip」時,你是否確實是指「zip」壓縮工具?哪個版本?哪個壓縮級別?什麼樣的文件?顯然,壓縮和已經壓縮的文件可能導致更大的文件(由於壓縮算法和容器的開銷),儘管不是這個數量級(除非舊的大小是1)。 – EboMike 2010-11-02 21:53:44

+0

我想這取決於被壓縮文件的內容。如果每個字節(?)不同,那麼就沒有「運行」來編碼等等。雖然這不是真正的編程問題。不知道它應該去哪裏(如果有的話)。 – ChrisF 2010-11-02 21:54:57

+0

每個平臺上流行的zip壓縮工具的每個版本 – Xaqron 2010-11-02 21:55:01

回答

8

當然...打開記事本,輸入單個字符並將文件保存爲test.txt。然後壓縮此文件。生成的zip文件(在我的系統上)爲149字節。像ZIP這樣的壓縮算法會消耗開銷!

+0

對於較大的文件,可以觀察到同樣的效果,但舊尺寸與新尺寸的比例會更小。 – 2010-11-02 21:56:54

4

我不知道有多大的zip壓縮文件頭,但是一個充滿0字節文件的目錄可以解決這個問題。現在繼續前進。

3

非常簡單:

~$ echo > singlebyte 
~$ ls -l singlebyte 
-rw-rw---- 1 sleske sleske 1 Nov 2 22:55 singlebyte 
~$ zip singlebyte.zip singlebyte 
    adding: singlebyte (stored 0%) 
~$ ls -l singlebyte.zip 
-rw-rw---- 1 sleske sleske 171 Nov 2 22:55 singlebyte.zip 

顯然,對於小文件的開銷將相當可觀。或者你有什麼想法?

0

它在理論上是正確的(正如其他人已經表明的那樣),但實際上並不重要。