7z 格式有前途么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cheneydog

7z 格式有前途么?

  •  1
     
  •   cheneydog 2022 年 8 月 18 日 6225 次点击
    这是一个创建于 1346 天前的主题,其中的信息可能已经有所发展或是发生改变。
    7z 格式压缩率确实高。

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

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

    当然分卷可能不太行,7z 的分卷是直接切开,没有独立文件头。
    duke807
        12
    duke807  
       2022 年 8 月 18 日 via Android
    @cssk windows 电脑上显示出来和 rar zip 一样图标,解压也是一样,点解唔得?
    Slurp
        13
    Slurp  
       2022 年 8 月 18 日
    归档压缩格式最常用的不就是 .zip .rar .7z 。基本上不用怕别人解不了吧。
    wangkun025
        14
    wangkun025  
       2022 年 8 月 18 日 via Android
    搞不懂你说的是 7z 软件还是 7z 格式。不是一回事
    jim9606
        15
    jim9606  
       2022 年 8 月 18 日   1
    @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
        16
    duke807  
       2022 年 8 月 19 日 via Android
    @jim9606
    反正 windows 用的 zip 包,在我就有不的
    有,zip 包文件限性,譬如可行性
    duke807
        17
    duke807  
       2022 年 8 月 19 日 via Android
    除非是全英文的文件名
    wakarimasen
        18
    wakarimasen  
       2022 年 8 月 19 日 via Android
    有观点认为 LZMA2 算法没前途,但 7Z 作为容器搭配 zstandard 有前途。
    ziseyinzi
        19
    ziseyinzi  
       2022 年 8 月 19 日
    windows 平台打包和压缩不分,感觉 zip 作为打包的容器已经足够了,真需要高压缩率才需要 7z
    Slurp
        20
    Slurp  
       2022 年 8 月 19 日
    还是要搞清楚目的。

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

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

    之前压过 3 GB 的 CSV ,zstd 和 7z 都选最高压缩率。zstd 压了几个小时,7z 压了几分钟。结果 zstd 还比 7z 大 ~150 MiB 。
    ZC3746
        21
    ZC3746  
       2022 年 8 月 19 日
    我在加拿大,这边上学提交作业,必须是 zip 格式,老师专门提示了,提交了 rar 格式就是 0 分。更别提 7z 这种更小众的格式了。
    bellchu
        22
    bellchu  
       2022 年 8 月 19 日
    vmware 这类厂商都把 7za 集成进产品里的。你在说什么前途?
    jtshs256
        23
    jtshs256  
      &nsp;2022 年 8 月 19 日 via iPhone
    发给别人的反而用的 .rar+冗余
    Fule
        24
    Fule  
       2022 年 8 月 19 日
    可控环境里,比如公司内部或者有一定技术能力的家人,可以用 7z 格式传文件。否则还是 .zip 保险。
    temp178
        25
    temp178  
       2022 年 8 月 19 日
    看需求。大众人群对压缩文件的广泛需求还是:把多个文件合并成一个,便于分享、管理。并不是压缩率。在这方面 zip 比 7z 有优势
    FrankHB
        26
    FrankHB  
       2022 年 8 月 19 日
    zip 的一个硬伤容易遇到文件名乱码,上面有人提了。
    zip (仅指比较规矩的)可能唯一一个比较现实的好处就是现在 Windows 和 mac 等环境都原生支持解压( Linux 变数太多就算了)。但也不止 zip ,要针对具体系统部署也可以用自解压文件,这也有人提了。(至于点开……我会试试右键菜单。)
    因为历史原因,zip 可能有被各种奇形怪状的应用二次开发(像 jar 啊 apk 啊),而有些不太常见的 zip 可能到处都打不开,这也有人提了。别的格式没流行得那么混乱,虽然光看扩展名一样可能有问题(比如 rar4/rar5 )。

    7z 跟 xz 之类其实不是对等的。
    7z 是所谓归档的压缩容器格式,可以选择不同压缩算法,比如 LZMA2 基本就是 xz ,而压缩纯文本为主的文档我用 PPMd 压缩率暴打 LZMA (轻松差 10 倍;@Slurp 这问题是我从你这顺便看到的,但本来没打算找你茬,但是真有这种重量级负载好歹多了解一下怎么选型吧)。
    当然文件扩展名看不出算法有时是劣势,但同样影响压缩格式和效果的其它参数就更不用指望看到了。
    相比之下,gz/bz/xz 等是通常以文件流为单位的压缩格式,tar 是无压缩归档格式,两者并用才是 7z 和 zip 的类似物(除了存储 /无压缩的归档功能基本就是 tar不过 tar 确保兼容 UNIX 权限)。

    可移植性基本都不成问题,主流系统上都能用,而 7z 基本是这里面除了 zip 以外最流行的。除了专用格式的工具,我是记不起不支持解压 7z 的非古董压缩软件。
    UI 问题也不大,命令行大差不差,GUI 嫌弃官方老土或者根本没有,就换个 PeaZip 之类的。
    嫌弃 tar.gz 太嗦改 tgz 体感也没差多少,当然 7z 默认比较省事。所以我自己的东西默认发二进制包就 7z 。
    villivateur
        27
    villivateur  
       2022 年 8 月 19 日
    主流的压缩软件都支持 7z 解压的,发给别人没啥问题
    shakoon
        28
    shakoon  
       2022 年 8 月 19 日
    没前途,普通用户是绝对不会主动用这种格式的,只要主流软件能解压就行了。就现在这个存储空间的价格,对 IT 专业的人来说压缩率相差 10%以内都几乎不会让人跳槽,更不用说普通用户了。
    7z 还有一个极大的硬伤在于,7-Zip 的 UI 实在是丑出天际,说落后 winzip 20 年已经算是客气话了。
    cheng6563
        29
    cheng6563  
       2022 年 8 月 19 日
    我还一直用 rar 呢
    BenX
        30
    BenX  
       2022 年 8 月 19 日/span>
    第一,RAR 坚决反对。第二,能用 zip 都用 zip 包。第三,非要选用 7zip 。
    xqdoo00o
        31
    xqdoo00o  
       2022 年 8 月 19 日
    @Slurp zstd 有浏览器支持吗
    AV1
        32
    AV1  
       2022 年 8 月 19 日
    RAR 可以添加恢复记录,能在传输过程、存储介质出现错误之后修复自身。
    其他格式有类似的功能吗?
    xtreme1
        33
    xtreme1  
       2022 年 8 月 19 日
    @DOLLOR
    我只知道 arc 也支持
    恢复记录本质就是添加一份纠错码嘛, 任何其它文件格式也可以通过 QuickPar 之类的工具自己生成, 缺点就是多一个文件
    Trim21
        34
    Trim21  
       2022 年 8 月 19 日 via Android
    @xqdoo00o 应该是没有
    hertzry
        35
    hertzry  
       2022 年 8 月 19 日
    Zip Windows 默认能解能压,但好多人喜欢用 RAR ,里面就是几个文档,服了,还得额外装个软件伺候着。
    mikeven
        36
    mikeven  
       2022 年 8 月 19 日
    @FrankHB
    我还特地去看了一下 PPmd ,还想怎么能轻松差 10 倍,这么厉害,结果没有这么夸张
    URL: http://shakespeare.mit.edu/macbeth/full
    Compressed gzip on server: 55186 bytes
    Decompressed html on disk: 195747 bytes

    PPMd Test:

    Format: 7z
    Compression level: Ultra
    Dictionary size: 192 MB
    Word size: 32
    Solid block size: 'solid'
    SIZE: 37211 bytes

    LZMA Test:

    Format: 7z
    Compression level: Ultra
    Dictionary size: 64 MB
    Word size: 273
    Solid block size: 'solid'
    SIZE: 47921 bytes
    KevinChan
        37
    KevinChan  
       2022 年 8 月 19 日
    @hertzry 有人用的系统里默认装的 RAR ,所以他们就用这个
    FrankHB
        38
    FrankHB  
       2022 年 8 月 19 日
    @mikeven 不好意思,我的错。我原意是想说轻松压缩 10 倍(或者说跟 7z 的不压缩的“存储”配置比)并在再花费近似时间下)显著比 LZMA 效果好,但不是说比 LZMA 高效 10 倍,结果串起来了……
    实测的一些比较适合这样压缩的文件: https://osdn.net/projects/yslib/releases/p17163 ;压缩 10 倍算保守,实际近 20 倍,而跟比较快速的 LZMA 比结果大小一般好 2~3 倍( PPMd 字典往大了开 1536MB ,效果更好,压缩时间影响有限; LZMA 字典对结果影响不明显)。极限情况 LZMA 也 Ultra 压缩结果的大小其实并没差,但是压缩和解压时间就……太不实用了。另外这个是几年前测的,近年也许实现有改进时间差距可能缩小,不过我没见算法有明显变化,也没重试。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2710 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 103ms UTC 06:07 PVG 14:07 LAX 23:07 JFK 02:07
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86