2012-12-14 39 views
2

我正在撰寫一篇關於人口普查局的population projections到2060的文章,其中包含一個3.3 MB .csv文件,其中包含未壓縮的文件。計算理論文本文件的大小

該文件包含539,781個值,每個值爲5-7個數字,佔用3,455,372個字符。當我gzip文件時,它下降到1550063字節,或1.47 MB​​。

我希望能夠如實說明它適合3.5英寸軟盤,最大容量爲1.44 MB。這只是一個參考點,而不是建議用戶需要如何操作的指導。

有沒有辦法根據上面的字符數來計算文本文件的理論大小?如果我們實際上有一個3.5英寸軟盤和一個驅動器,是否可以將這個文件放在磁盤上而不會丟失信息?謝謝!

+0

這將是可能的(甚至很容易,即使是自動的)來計算熵。儘管如此,還是需要檢查文件的全部內容。 (如果我們知道值的範圍,可以進行高估:最小值和最大值是多少?) – delnan

+0

最小值爲0,最大值爲420267733 這裏計算得出 https://gist.github.com/4287201 –

回答

2

不,不可能僅基於字符數估計文件壓縮版本的大小。不同的字符串可以以不同的效率級別進行壓縮;純粹由一個字符組成的字符串比純粹隨機生成的字符串更容易壓縮。

在信息論中,存在Kolmogorov複雜性的概念,它是(或多或少)重構字符串所需的最小量的信息。不是所有的字符串都被壓縮成更小的字符串,並且不可能建立一個通用算法來查找任意字符串的Kolmogorov複雜度。而且,一旦字符串ets足夠長,就不可能證明你已經找到了字符串的最佳編碼。

希望這會有所幫助!

+0

完美,謝謝您! –

1

如果你想說它適合於1.44 MB的軟盤,那就用更好的壓縮器來證明它。嘗試7-Zip或xz(取決於您的平臺)。你足夠接近,我敢肯定,這將做到這一點。 (你使用gzip -9嗎?)

順便說一句,我不確定這個的效用,因爲很多人不知道你在說什麼,當你描述這個「軟盤磁盤「的東西給他們。

正如已經指出的那樣,是不是可以計算理論最佳壓縮。只需使用最好的壓縮機來獲得估計值。

更新:

下載它。 xz將它壓縮到1177180字節。所以是的,它很合適。

+0

謝謝!我將不得不鏈接到軟盤的概念:) –