估计压缩的数据大小

时间:2014-04-17 07:52:42

标签: algorithm file compression zip

例如,我有一些文件夹包含我要压缩的文件,但我想在创建之前估计存档的大小。如果需要算法,可以使用预定义大小订单的临时文件小于文件夹大小。

有人可以推荐这样的算法或现有的压缩程序吗?

1 个答案:

答案 0 :(得分:6)

你可以做的一种方法是读取文件的第一兆字节,在内存中压缩它,看看压缩比是多少。然后将其乘以总文件大小,您将获得总压缩大小的估计值

该技术假定文件的其余部分类似于第一兆字节(即具有相似的熵量),这通常适用于我们使用的大多数类型的文件。但是你可以遇到第一兆字节压缩得很好而其余部分没有压缩的情况。反之亦然。

通过从整个文件中的多个点选择样本,您可以更好地了解整体压缩比。所以读取第一兆字节并压缩它。对整个文件中常规(或随机,我猜)点的样本做同样的事情。比如说,您可以读取并压缩五个1兆字节的样本,每个样本的压缩比为0.6到0.7。文件的整体压缩率很可能在该范围内。