Skip to content

Instantly share code, notes, and snippets.

@neumachen
Forked from bussiere/compress.go
Created February 11, 2018 01:56
Show Gist options
  • Select an option

  • Save neumachen/8245b6ac3fe0c4a2828257b240afa118 to your computer and use it in GitHub Desktop.

Select an option

Save neumachen/8245b6ac3fe0c4a2828257b240afa118 to your computer and use it in GitHub Desktop.
compress uncompress a string in golang
package main
import (
"bytes"
"compress/gzip"
"fmt"
"encoding/base64"
"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))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment