我有一个要求,在进行原始deflate时,zlib提供了一个4KB的史前缓冲区来种子字典。输入的Data CHUNK Size也是4KB,每一个都需要使用prehistory,并且每4KB的数据都是独立压缩的。我对窗口大小和字典在哪里加载在窗口(在位置0)有疑问以下是一些问题。
- 我的窗口大小应该是8KB[史前4KB +原始数据生成的历史4KB]
- 是正确的,而使用
deflateSetDictionary
,第一个4KB的窗口将加载字典(史前)缓冲区和下一个4KB的窗口将填充作为原始数据被压缩
- 是的,您的字典大小应该至少为8K。
- 您只需使用长度参数为
deflateSetDictionary()
提供4K的数据。zlib处理它在缓冲区中的实际位置。