【问题标题】:What is the minimum/maximum input size for deflate() or inflate() in zlib?zlib 中 deflate() 或 inflate() 的最小/最大输入大小是多少?
【发布时间】:2017-01-11 14:46:15
【问题描述】:

使用zlib 时,可以处理deflate() 和inflate() 的最小和最大输入缓冲区大小是多少?

【问题讨论】:

    标签: c buffer zlib deflate inflate


    【解决方案1】:

    最小缓冲区大小为0。关于最大大小,请参阅zlib FAQ:

    zlib 可以处理大于 4 GB 的数据吗?

    是的。 inflate() 和 deflate() 将正确处理任意数量的数据。 inflate() 或deflate() 的每次调用仅限于输入和输出块的最大值,可以存储在编译器的“unsigned int”类型中,但对块的数量没有限制。但请注意,strm.total_in 和 strm_total_out 计数器可能限制为 4 GB。这些计数器是为了方便而提供的,inflate() 或deflate() 不会在内部使用。应用程序可以轻松设置自己的计数器,在每次调用 inflate() 或 deflate() 后更新,以计算超过 4 GB。

    【讨论】:

      猜你喜欢
      • 2014-06-27
      • 2014-10-15
      • 1970-01-01
      • 2021-12-14
      • 1970-01-01
      • 2013-02-26
      • 2012-06-30
      • 2011-03-13
      • 1970-01-01
      相关资源
      最近更新 更多