7z 格式有前途么?

2022-08-18 19:05:54 +08:00
 cheneydog
7z 格式压缩率确实高。

然鹅一直用 7z 命令版,打包格式却是用 zip ,因为要发给别人。

今天更新了版本,7z 命令版没法打 zip 的分卷了,窗口版还可以。这是打算分道扬镳了么?
4622 次点击
所在节点    问与答
38 条回复
XiLingHost
2022-08-18 19:09:05 +08:00
其实 tar.xz 挺好用的
cheneydog
2022-08-18 19:17:02 +08:00
@XiLingHost
linux 上 gz xz bz 都挺常见的。
但是 zip 真的太广泛了。发给别人我似乎还是只能选这个。
有些人看到非 .zip .rar 的压缩包,第一反应就害怕,怀疑,不知道能不能解。特别是用 windows 的人。
我自己也是主要用 windows 。
xiaozecn
2022-08-18 20:33:45 +08:00
在 win 上我发给别人都是创建自解压文件
pperlee
2022-08-18 20:39:40 +08:00
它本身格式的兼容性一般,但是它兼容其他格式是它的优势,如果命令行无法使用,那么就用回 tar 咯
duke807
2022-08-18 22:10:40 +08:00
zip 中文文件名和文件夹名跨平台会乱码
还不如 tar.bz2 ,windows 解压没问题
cssk
2022-08-18 22:17:19 +08:00
@duke807 #5 你能指望大部分用户识得用 tar.bz2 ?
tuding
2022-08-18 22:31:44 +08:00
@xiaozecn #3 外行看到 exe 文件估计都不敢点开
xmumiffy
2022-08-18 22:33:42 +08:00
没事 打包完手动修改后缀成 zip 反正只要装了解压软件基本都能解压 7z 除非他打算用资源管理器解压
yfugibr
2022-08-18 22:34:04 +08:00
@tuding 内行才不敢点开,外行都直接点的
sickoo
2022-08-18 22:36:04 +08:00
只知道 7z 匿名性好,不会保存文件所有者用户名
dant
2022-08-18 22:42:10 +08:00
打包完改名成 rar ,能解 rar 的九个里面有十个能解 7z (

当然分卷可能不太行,7z 的分卷是直接切开,没有独立文件头。
duke807
2022-08-18 22:43:45 +08:00
@cssk windows 电脑上显示出来和 rar zip 一样图标,解压也是一样,点解唔得?
Slurp
2022-08-18 23:12:36 +08:00
归档压缩格式最常用的不就是 .zip .rar .7z 。基本上不用怕别人解不了吧。
wangkun025
2022-08-18 23:41:16 +08:00
搞不懂你说的是 7z 软件还是 7z 格式。不是一回事
jim9606
2022-08-18 23:55:58 +08:00
@cheneydog
我试了下 windows x64 22.01 ,还能用啊。

```
7z a -v1M archive.zip src/
```

7z 好就好在支持比较全,新版连 vhdx 、qcow 、apfs 都能读,但你得接受几乎没有的外壳集成和老土 UI 。
其实现在 windows 用 7z 什么的倒不是大问题,手机可能会有问题,因为 Android 系统只保证支持 zip+deflate 。

7z 和 xz 默认压缩算法都是 LZMA2 ,压缩率是高,但这个慢已经很有问题了,所以目前有些地方推动换 zstd 了。
win10 的话推荐用商店的 NanaZip ,是 7Zip 的一个衍生版,支持很多新算法,也是自带 CLI 别名的。

@duke807 @pperlee

zip 很早就支持的 utf8 文件名扩展,但不是所有软件在创建 zip 时默认启用这个(但读通常没问题) ,7zip 老早就支持了,但直到 21.07 才对 zip 默认启用这个扩展(-mcu=on)。

zip 其实是扩展性很好的归档容器,兼容性好仅限 store/deflate 压缩算法和 ZipCrypto 加密,ZipCrypto 是已知有很多缺陷的。你完全可以用 7zip 创建五毒俱全但符合 PKZIP 标准的 zip(LZMA+AES128+ShiftJIS 文件名),当然这个用 Windows 的资源管理器是打不开的。

```
7z a jisar.zip src/ -mm=LZMA -mcl=on -mcu=off -mcp=932 -mem=AES128 -pPASSWORD
```

zip 已知的缺陷是不支持硬链接、固实、文件头加密,不过吧,又不是不能用。
duke807
2022-08-19 00:35:53 +08:00
@jim9606
反正 windows 用戶壓縮的 zip 包,在我這就沒有不亂碼的
還有,zip 包會丟文件權限屬性,譬如可執行屬性
duke807
2022-08-19 00:36:31 +08:00
除非是全英文的文件名稱
angrylid
2022-08-19 01:25:04 +08:00
有观点认为 LZMA2 算法没前途,但 7Z 作为容器搭配 zstandard 有前途。
ziseyinzi
2022-08-19 01:58:00 +08:00
windows 平台打包和压缩不分,感觉 zip 作为打包的容器已经足够了,真需要高压缩率才需要 7z
Slurp
2022-08-19 03:55:33 +08:00
还是要搞清楚目的。

zstandard 更多是流式压缩,要求 非常快速度 + 压缩率能高就高。主要用途是网络传输,压 JSON XML 这种文本。

然而肯定比不过 7z rar 这种的…… 人是正儿八经的归档压缩格式,要求是 解压速度 + 压缩率极致。

之前压过 3 GB 的 CSV ,zstd 和 7z 都选最高压缩率。zstd 压了几个小时,7z 压了几分钟。结果 zstd 还比 7z 大 ~150 MiB 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/873813

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX