仅在 zlib c++ 库中强制动态编码



我想知道是否有可能强制 zlib 库 (c++( 仅以动态霍夫曼(没有文字或固定(对压缩文件进行编码。我正在查看 zlib 手册中的高级功能,在deflateInit2,下它有以下参数可供选择:

  • 196 #define Z_FILTERED 1
  • 197 #define Z_HUFFMAN_ONLY 2
  • 198 #define Z_RLE 3
  • 199 #define Z_FIXED 4
  • 200 #define Z_DEFAULT_STRATEGY 0

我正在使用默认策略,但达到一定的文件大小,它将开始生成静态霍夫曼编码。将其更改为huffman_only确保所需的行为吗?甚至有可能保证只有动态编码吗?我正在使用它来测试我自建的解压缩器。谢谢。

zlib 没有强制只强制动态块的选项。只有霍夫曼才能保证这一点,因为存储的块对于随机数据会更小。

最新更新