V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
boycottangent
V2EX  ›  问与答

固实压缩的压缩率受到哪些因素影响?

  •  
  •   boycottangent · 2021-06-21 09:39:08 +08:00 · 1370 次点击
    这是一个创建于 1257 天前的主题,其中的信息可能已经有所发展或是发生改变。

    试了一下固实压缩(环境是 macOS,使用 keka )

    第一次压缩 2.7G 的文件夹,压缩后得到 900M 的 7z 文件。第二次同样的参数压缩另一个 2.6G 的文件夹,这次得到的文件大小却是 1.3 G 的。第三次还是这么压缩,一个 1.6G 的文件夹被压缩到 1.3G 。

    问题是为啥我用同样的压缩参数设置,每次的压缩率却差这么多?还有哪些因素会影响这个过程?而且影响作用这么明显?

    BrettD
        1
    BrettD  
       2021-06-21 09:45:58 +08:00 via iPhone
    取决于被压缩文件本身的熵
    AoEiuV020
        2
    AoEiuV020  
       2021-06-21 09:46:02 +08:00
    ? 最影响压缩率的不是文件内容本身么,
    你可以试试,创建一个 10G 大小内容全是 0 的文件,随便什么压缩算法,压缩率都远低于 1%的,
    boycottangent
        3
    boycottangent  
    OP
       2021-06-21 09:57:50 +08:00
    @BrettD
    @AoEiuV020
    我可以通俗理解为文件内容本身的大小吗,如果文件越大,压缩率就越低?对于文件夹来说,单个文件的平均大小越大,压缩率就会越低?
    YvesX
        4
    YvesX  
       2021-06-21 10:07:35 +08:00
    boycottangent
        5
    boycottangent  
    OP
       2021-06-21 10:45:13 +08:00
    @YvesX 大致明白了,所以其实还是得看文件内容,我还希望可以通过一定的设置让每一次的压缩率能高一点
    NewYear
        6
    NewYear  
       2021-06-21 10:52:08 +08:00
    @boycottangent

    熵是文件信息的复杂程度,一般自带压缩的格式,都已经压缩过一遍了,熵的复杂度高,无损的情况下是根本没多大可能压缩到更小的。

    有损的话,文件就坏掉了。
    boycottangent
        7
    boycottangent  
    OP
       2021-06-21 10:57:05 +08:00
    @NewYear 其实我三次都是在压缩 WAV 格式的音频,本身是未压缩的编码格式。不过三次的压缩率差异实在太大导致我怀疑可能有其他原因。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5412 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 07:30 · PVG 15:30 · LAX 23:30 · JFK 02:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.