golang 用gzip 压缩、解压缩字符串
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
package main
import (
"bytes"
"compress/gzip"
"encoding/base64"
"fmt"
"io/ioutil"
)
func main() {
var b bytes.Buffer
gz := gzip.NewWriter(&b)
if _, err := gz.Write([]byte("YourDataHere")); err != nil {
panic(err)
}
if err := gz.Flush(); err != nil {
panic(err)
}
if err := gz.Close(); err != nil {
panic(err)
}
str := base64.StdEncoding.EncodeToString(b.Bytes())
fmt.Println(str)
data, _ := base64.StdEncoding.DecodeString(str)
fmt.Println(data)
rdata := bytes.NewReader(data)
r, _ := gzip.NewReader(rdata)
s, _ := ioutil.ReadAll(r)
fmt.Println(string(s))
}
base64byte
本文网址: https://golangnote.com/topic/154.html 转摘请注明来源