123456789101112131415161718192021222324252627282930313233 |
- package codec
- import (
- "bytes"
- "compress/gzip"
- "io"
- )
- func Gzip(bs []byte) []byte {
- var b bytes.Buffer
- w := gzip.NewWriter(&b)
- w.Write(bs)
- w.Close()
- return b.Bytes()
- }
- func Gunzip(bs []byte) ([]byte, error) {
- r, err := gzip.NewReader(bytes.NewBuffer(bs))
- if err != nil {
- return nil, err
- }
- defer r.Close()
- var c bytes.Buffer
- _, err = io.Copy(&c, r)
- if err != nil {
- return nil, err
- }
- return c.Bytes(), nil
- }
|