【发布时间】:2023-07-24 02:38:01
【问题描述】:
DEFLATE 有十种不同的压缩级别(0 无压缩和最快,9 最佳压缩和最慢)。确定原始 DEFLATE 数据的此类级别的最佳方法是什么?
一种明显(但速度较慢)的方法是尝试每种方法并按顺序进行比较。作为一个附带问题,是否可以保证文件的压缩数据大小从压缩级别 0 到 9 严格不增加?如果是这样,二分搜索可以将这个过程加快两倍/三倍。
【问题讨论】:
-
嗯...您有一个初始大小和一个压缩大小。
compression_level = 1 - (compressed_size / initial_size)... -
这不像你建议的那么简单。例如,我有一个大小为 956 字节的文件,使用 6 级压缩时变为 324 字节,使用 9 级压缩时变为 322。