gzip压缩及解压缩
程序员文章站
2024-03-14 09:08:34
...
func main() {
var b bytes.Buffer
gzipWriter := gzip.NewWriter(&b)
defer gzipWriter.Close()
//写入gizp writer数据时,它会依次压缩数据并写入到底层的文件中
gzipWriter.Write([]byte("Kris hello world!"))
gzipWriter.Flush()
log.Info("success")
//解压缩
r := bytes.NewReader(b.Bytes())
gzipReader, err := gzip.NewReader(r)
log.Error(err)
if err != nil {
log.Error(err)
return
}
defer gzipReader.Close()
unzipData, err := ioutil.ReadAll(gzipReader)
if err != nil {
if strings.Contains(err.Error(), "unexpected EOF") && len(unzipData) != 0 {
goto:pars
}
}
pars:
// 执行你的下一步操作即可
bytes, err := yaml.JSONToYAML(response)
}