gpt4 book ai didi

使用 LZW 压缩来压缩 ZIP 文件会创建尺寸过大的压缩文件

转载 作者:行者123 更新时间:2023-11-30 15:44:24 24 4
gpt4 key购买 nike

我尝试使用 LZW 压缩方法来压缩 zip 文件(以下链接中提供的代码),

http://rosettacode.org/wiki/LZW_compression#C

它创建的编码文件长度比原始文件大小太长,原因是什么?请任何人帮助我了解实时发生的事情。

最佳答案

无损压缩不可能将每个文件压缩为更短的文件。

这是因为有 256N 个文件,长度为 N 个字节,但有 (256N -1)/255 个小于 N 字节的文件。因此,并非每个文件都可以映射到较短的文件。

更重要的是,如果任何文件变短,那么一些较短的文件必须放弃其位置才能使之成为可能。所以有些文件必须变得更大。

无损压缩的工作原理是识别人类创建的典型文件中的常见模式,并将长的高概率字节序列转换为较短的序列。这样做的代价是某些序列变得更长。设计的目标是让典型的文件压缩,但非典型的文件必须变得更长。

如果压缩完成其工作,冗余信息将从文件中删除,并且输出类似于随机数据。那么输出就无法进一步压缩。

关于使用 LZW 压缩来压缩 ZIP 文件会创建尺寸过大的压缩文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19492645/

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