0

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

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

4

1 回答 1

1

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

于 2012-12-08T14:55:26.850 回答