Skip to content

Instantly share code, notes, and snippets.

@binary4cat
Forked from bussiere/compress.go
Created January 14, 2022 07:42
Show Gist options
  • Save binary4cat/d6813bcdd52fc72c24ce410a95f42bd0 to your computer and use it in GitHub Desktop.
Save binary4cat/d6813bcdd52fc72c24ce410a95f42bd0 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