tasty0tomato 发表于 2022-1-18 17:07:03

关于压缩算法的一点疑惑

这就是纯“灌水聊天”,甚至和论坛的主要讨论问题不一样了。

这个问题就是为啥压缩算法都是针对“文件”,无法针对文件夹。

比如传统的Deflate,Bzip2,7z默认的LZMA以及新兴的ZSTD等等,这些算法都只能针对“文件”,而想对文件夹打包就得经过tar打包或者zip格式或者7z格式等等。

比如ZSTD,有的大佬把这个算法集成到了7zip里,https://mcmilk.de/projects/7-Zip-zstd/。
那么问题来了,比如我要用ZSTD压缩一个文件夹,要不然得先tar再zstd,要不然用这个7-Zip-zstd。问题是ZSTD的描述就是“fast”,用7-Zip-zstd确实很快,但是要是先tar再zstd,这个tar就很不“fast”,这不是有点矛盾吗?

最后附件一个Windowsx64的mpv 0.34.1,虽然mpv的每次提交都以稳定为主,这个版本号也只是为了一些包管理方便更新,但是我开发软件比较遵守Semantic Versioning,所以稍微还是喜欢下一个带版本号的。就是按照https://github.com/shinchiro/mpv-winbuild-cmake编译的,加了一个我自己附带的不推荐大家用的conf

链接:https://pan.baidu.com/s/1J2p_ItvudRYU-uUc4jRfZQ?pwd=y4it
提取码:y4it
--来自百度网盘超级会员V6的分享


车祸现场 发表于 2022-1-18 22:09:51

之前看了一个文章,tar是有特殊需求,要保留文件属性的。
另外7z和rar支持固实压缩,也就是把所有文件放在一起当成一个文件压缩。这样压缩率最高,但是解压非常慢,解压比较后面的文件,需要把前面的文件一起解压了。

tasty0tomato 发表于 2022-1-18 22:30:42

车祸现场 发表于 2022-1-18 22:09
之前看了一个文章,tar是有特殊需求,要保留文件属性的。
另外7z和rar支持固实压缩,也就是把所有文件放在 ...

我愿称之为最佳答案。

就要这个词 固实压缩 解决了我很久的疑惑


FwQBZ8ay 发表于 2022-1-21 14:22:49

Zstandard 好用又开源,唯一问题是我压的文件别人打不开...(用Zstandard的毕竟是少数),有时候是好事有时候是坏事

tasty0tomato 发表于 2022-1-22 08:44:35

FwQBZ8ay 发表于 2022-1-21 14:22
Zstandard 好用又开源,唯一问题是我压的文件别人打不开...(用Zstandard的毕竟是少数),有时候是好事有时候是 ...

确实,不过如果对方的电脑是Windows,应该可以用7-zip-zstd去压出一个自解程序方便递交,对方电脑要是mac或者Linux对命令行了解应该也知道用什么去解压。

FwQBZ8ay 发表于 2022-1-22 09:43:18

tasty0tomato 发表于 2022-1-22 08:44
确实,不过如果对方的电脑是Windows,应该可以用7-zip-zstd去压出一个自解程序方便递交,对方电脑要是mac ...
日常中自己理所当然的能打开,当我注意到对方打不开的时候已经尴尬了{:4_686:} 2333
之后需要传给别人的文件我用zip就完事了

车祸现场 发表于 2022-1-22 09:51:09

日常用用,zip的deflate算法够用了,现在还没见过对于压缩率有这么高需求的场景。空间真的不够了,可能还是加快硬盘更加实惠。

sommio 发表于 2022-1-23 07:13:22

本帖最后由 sommio 于 2022-1-23 07:35 编辑

已编辑,说了和楼上重复的废话

sommio 发表于 2022-1-23 07:16:37

本帖最后由 sommio 于 2022-1-23 07:35 编辑

已编辑,说了和楼上重复的废话

sommio 发表于 2022-1-23 07:21:16

本帖最后由 sommio 于 2022-1-23 07:35 编辑

已编辑,说了和楼上重复的废话
页: [1] 2
查看完整版本: 关于压缩算法的一点疑惑