如何提高拉链压缩比

问题描述 投票:0回答:1

我的zip压缩后还是太大,有没有其他办法提高压缩率。

enter image description here

func Test() error {
    var archive *os.File
    if archive, err = create(filepath, "official-test.xml.zip"); err != nil {
        return err
    }
    defer archive.Close()
    z := zip.NewWriter(archive)
    defer z.Close()
    z.RegisterCompressor(zip.Deflate, func(out io.Writer) (io.WriteCloser, error) {
        return flate.NewWriter(out, flate.BestSpeed)
    })
    if err != nil {
        return err
    }
    if file, err = z.Create("official-test.xml"); err != nil {
        return err
    }
    h := []byte("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<list>")
    file.Write(append(h, append(generator, append(Items, []byte("\n</list>")...)...)...))

    return
}

我的压缩比除外。 enter image description here

如果我只能使用zip而不是gzip、7-zip,还有其他方法可以帮助我压缩文件吗?

go zip deflate
1个回答
0
投票

尝试更改常量 flate.BestSpeed 并使用 flate.BestCompression 这是可用的最高压缩级别。

链接:

https://pkg.go.dev/github.com/klauspost/compress/flate#pkg-constants

© www.soinside.com 2019 - 2024. All rights reserved.