S.L*_*Lee 5 compression zlib deflate
我想知道DEFLATE如何确定块大小(我的意思是,在zlib中.)
在RFC 1591中,存在以下解释:"当压缩器确定启动具有新树的新块时,或者当块大小填满压缩器的块缓冲区时,压缩器将终止块."
这对我来说还不够.我想知道结束当前块需要什么条件并详细启动新块.
DEFLATE如何决定新鲜的发辫是否有用?压缩器块缓冲区的大小是多少?
当当前符号缓冲区填满(默认为16,383个符号)或输入数据完成(Z_FINISH请求)时,zlib的deflate结束块.zlib中的deflate不会试图判断何时更早结束块可能是有益的.
在这种情况下,一个符号是一个文字,或任何长度的一个匹配.
符号缓冲区的大小由memLevel参数of 确定deflateInit2().A memLevel的8是默认使用的deflateInit(),产生16,383个符号.memLevel可以是1到9,其中符号缓冲区大小是(1 << (memLevel + 6)) - 1.