zlib - zlib数据格式中压缩数据如何在字节边界结束
问题描述
在 RFC1951 DEFLATE 规范中,表明压缩数据块不一定以字节边界开始。这也意味着一个块可能不会在字节边界上结束。
但是,在 RFC1950 ZLIB 压缩数据格式规范中,似乎表明压缩数据占用整数个字节。ZLIB 在 CM=8 时使用“deflate”压缩方法。
+=====================+---+---+---+---+
|...compressed data...| ADLER32 |
+=====================+---+---+---+---+
它如何确保使用 deflate 压缩的 zlib 格式的压缩数据始终是整数字节,而另一方面 DEFLATE 规范不保证压缩块在字节边界上结束?
这是否意味着如果压缩不在字节边界上结束,则压缩必须在块的末尾添加某种虚拟位?
解决方案
是的,根据需要在最后一个块上附加零位以到达字节边界。
推荐阅读
- docker - 异常:StreamingQueryException:写入作业中止
- python - 从 pytorch3d 导入某些包时出现导入错误
- excel - 输入框计数行并按颜色突出显示
- python - 如何在 Django 管理员中禁用绝对 url?
- c# - 无法从 Windows 窗体将数据插入 SQL Server
- javascript - 如何在我的模态对话框中创建过滤器选项,例如在 Google 表格中
- powerapps - PowerApps 集合函数导致 [object Object]
- python - Tkinter:如何使用按钮切换标签文本
- python - 用于查找与指定 IP 匹配的接口的 Fortigate 接口的 Python 字典
- c# - 循环引用导致 Mapster 堆栈溢出