Golang 的 zlib 没有压缩
Golang's zlib is not compressing
我有以下一段代码,它接受一个十六进制字符串并将其转换为字节数组;但是当我尝试使用 zlib 压缩提到的字节数组时它不起作用(我打印压缩前后的数据但它们是相同的):
data, err := hex.DecodeString(request.Log)
if err != nil {
panic(err)
}
fmt.Println(data)
var writer bytes.Buffer
gz := zlib.NewWriter(&writer)
if _, err = gz.Write(data); err != nil {
println("error: ", err)
return
}
gz.Flush()
if err = gz.Close(); err != nil {
println("err", err)
return
}
fmt.Println(data)
我也试过在关闭之前手动刷新写入器,但没有帮助。
您似乎在最后一行打印了错误的变量。应该是fmt.Println(writer.Bytes())
我有以下一段代码,它接受一个十六进制字符串并将其转换为字节数组;但是当我尝试使用 zlib 压缩提到的字节数组时它不起作用(我打印压缩前后的数据但它们是相同的):
data, err := hex.DecodeString(request.Log)
if err != nil {
panic(err)
}
fmt.Println(data)
var writer bytes.Buffer
gz := zlib.NewWriter(&writer)
if _, err = gz.Write(data); err != nil {
println("error: ", err)
return
}
gz.Flush()
if err = gz.Close(); err != nil {
println("err", err)
return
}
fmt.Println(data)
我也试过在关闭之前手动刷新写入器,但没有帮助。
您似乎在最后一行打印了错误的变量。应该是fmt.Println(writer.Bytes())