欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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)
	
}

 

相关标签: Go