【问题标题】:Decompressing a trunctated compressed stream (Deflate)解压缩截断的压缩流 (Deflate)
【发布时间】:2012-12-08 12:52:37
【问题描述】:

我正在使用 udp 在服务器和客户端之间进行通信。
如果数据包太长,服务器可以压缩数据包 (Deflate)。
现在的问题是有时数据包仍然太长,即使经过压缩。
经过一些实验,我发现这种截断的压缩数据仍然是可解压缩的(当然直到截断点)。

现在的问题是:
除了截断(对于Deflate),解压的结果可以改变吗?

【问题讨论】:

    标签: compression deflate truncation


    【解决方案1】:

    如果您的问题是:“截断的 deflate 流的解压缩能否传递除截断原始未压缩数据之外的其他内容?”,那么答案是否定的。不能将截断的代码误解为其他代码。构成 deflate 流的 Huffman 码是前缀码,因此如果流中的最后一个码在该码位的中间被截断,则该码根本不会被解码。前缀位明确表示整个代码不存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-19
      • 1970-01-01
      • 2016-01-06
      • 1970-01-01
      • 2011-09-18
      • 2011-03-02
      • 1970-01-01
      • 2013-05-05
      相关资源
      最近更新 更多