首页 > 解决方案 > zlib数据格式中压缩数据如何在字节边界结束

问题描述

在 RFC1951 DEFLATE 规范中,表明压缩数据块不一定以字节边界开始。这也意味着一个块可能不会在字节边界上结束。

但是,在 RFC1950 ZLIB 压缩数据格式规范中,似乎表明压缩数据占用整数个字节。ZLIB 在 CM=8 时使用“deflate”压缩方法。

+=====================+---+---+---+---+
|...compressed data...|    ADLER32    |
+=====================+---+---+---+---+

它如何确保使用 deflate 压缩的 zlib 格式的压缩数据始终是整数字节,而另一方面 DEFLATE 规范不保证压缩块在字节边界上结束?

这是否意味着如果压缩不在字节边界上结束,则压缩必须在块的末尾添加某种虚拟位?

标签: zlibdeflate

解决方案


是的,根据需要在最后一个块上附加零位以到达字节边界。


推荐阅读