我正在撰写一篇关于人口普查局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 :(得分:2)
不,无法仅根据字符数来估计文件压缩版本的大小。可以在不同的效率水平上压缩不同的字符串;一个纯粹由一个字符组成的字符串比一串纯粹随机生成的字符更容易压缩。
在信息论中,存在Kolmogorov复杂性的概念,其(或多或少)是重构字符串所需的最小信息量。并非所有字符串都被压缩成较小的字符串,并且不可能构建一般算法来查找任意字符串的Kolmogorov复杂度。而且,一旦字符串足够长,就不可能证明你已经找到了字符串的最佳编码。
希望这有帮助!
答案 1 :(得分:1)
如果你想说它适合1.44 MB软盘,那么只需用更好的压缩器来证明它。尝试7-Zip或xz(取决于您的平台)。你已经足够接近,我相信它会做到这一点。 (你使用gzip -9吗?)
顺便说一下,我不确定这个用途,因为当你向他们描述这个“软盘”的东西时,很多人都不知道你所说的世界是什么。
如前所述,是否无法计算理论上的最佳压缩率。只需使用最好的压缩机来估算。
更新
下载了。 xz将其压缩为1177180字节。是的,它适合。