gpt4 book ai didi

c - 压缩格式 : differences between type blocks

转载 作者:太空宇宙 更新时间:2023-11-04 03:14:30 25 4
gpt4 key购买 nike

我目前正在尝试编写一个与 RFC Deflate 规范具有相同目的的压缩器和解压缩器。

我无法理解在使用固定表和动态表进行压缩时 block 的组成方式之间的区别。该文件由 LZ77 生成 (distance, length) + literal 处理。

  • 我怎么知道 block 的类型?
  • 我必须压缩这些数据吗?
  • 鉴于我使用固定压缩并且不必发送表格,编码器如何知道如何编码数据?
  • 此外,我是否必须在实际压缩执行之前发送数据?

我对固定表和我们在动态模式下发送的表之间的区别以及这两个 block 如何使用它们编码数据感到困惑。

我目前正在阅读数据压缩:完整引用。任何建议都会有所帮助。

最佳答案

由于您正在尝试压缩,因此您会选择两者中较小的一个。 zlib 的 deflate 计算固定 block 、动态 block 和存储 block 的大小,并发出三者中最小的一个。

如果您正在对固定 block 进行编码,则使用固定代码对文字/长度和距离进行编码。此代码在 RFC 中提供。

关于c - 压缩格式 : differences between type blocks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53243422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com