我有一小段压缩成字符串的代码,然后它将压缩后的版本读回原始版本。
如何测量压缩水平?即计算字符串前后的字节数?
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)
}
我在游乐场https://play.golang.org/p/9T2BOpCFmar中有此代码
答案 0 :(得分:5)
在尺寸之前:
fmt.Println(len(sentence))
大小后:
fmt.Println(buf.Len())
在关闭编写器之前,请确保先调用buf.Len()