如何按字节大小比较文本的原始版本和压缩版本

Bla*_*man -1 zip go

我有一小段压缩成字符串的代码,然后将压缩后的版本读回原始版本。

如何测量压缩水平?即计数前后字符串的字节数?

    sentence := "A long time ago in a galaxy far, far away..."

    var buf bytes.Buffer
    zw := gzip.NewWriter(&buf)

    // Setting the Header fields is optional.
    zw.Name = "a-new-hope.txt"
    zw.Comment = "an epic space opera by George Lucas"
    zw.ModTime = time.Date(1977, time.May, 25, 0, 0, 0, 0, time.UTC)

    _, err := zw.Write([]byte(sentence))
    if err != nil {
        log.Fatal(err)
    }

    if err := zw.Close(); err != nil {
        log.Fatal(err)
    }
Run Code Online (Sandbox Code Playgroud)

我在去操场https://play.golang.org/p/9T2BOpCFmar有此代码

Mos*_*ati 5

前尺寸:

fmt.Println(len(sentence))
Run Code Online (Sandbox Code Playgroud)

尺寸后:

fmt.Println(buf.Len())
Run Code Online (Sandbox Code Playgroud)

确保在关闭编写器之前调用buf.Len()