gpt4 book ai didi

zip - 标准 ZIP 使用哪种算法?

转载 作者:行者123 更新时间:2023-12-02 02:56:05 29 4
gpt4 key购买 nike

我已经在 google 上搜索、在 wiki 上搜索并阅读了 ZIP 的 RFC,但找不到有关 ZIP 中使用的确切算法的任何信息。

我找到了有关 ZIP == TAR + GZIP 的信息

但是,我对这些信息感到困惑。

由于我记得GZIP使用LZW算法,而TAR使用LZMA,所以我无法想象ZIP == TAR + GZIP (LZMA + LZW - ???)怎么可能

你能帮我找到ZIP的算法吗?我想实现它。

最佳答案

Zip 提供的功能大致相当于 tar 与 gzip 的组合。

tar 只是将多个文件收集到一个文件中,保留有关原始文件的信息(例如路径、日期)。与问题中的陈述相反,它本身进行压缩。

gzip 仅获取单个文件并对其进行压缩。

Zip 实现了这两点 - 即,它将许多组成文件存储到存档中(同样,保留路径、日期等内容),并压缩它们。与 tar + gzip 不同,它单独压缩每个文件,并保留有关未压缩的组成文件的“目录”信息。这使得处理存档中的单个文件变得容易(插入、删除、解压缩等),但也意味着总体压缩效果通常不会那么好。

与重新实现 zip 的压缩算法相比,您几乎可以肯定从 zlib web site 下载代码(极其便携、非常自由的许可证)会更好。 。 zlib 网站确实有一个相当合理的 explanation的算法。如果您真的坚持自己这样做,您可能还想看看 RFC 1950 , 1951 ,和1952 .

关于zip - 标准 ZIP 使用哪种算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10214374/

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