12345678910111213141516171819202122232425262728293031323334353637 |
- package gzip
- import (
- "bytes"
- "compress/gzip"
- "io/ioutil"
- )
- func GZIPEn(data []byte) ([]byte, error) {
- var b bytes.Buffer
- gz, err := gzip.NewWriterLevel(&b, gzip.BestCompression)
- if err != nil {
- return nil, err
- }
- if _, err := gz.Write([]byte(data)); err != nil {
- return nil, err
- }
- if err := gz.Flush(); err != nil {
- return nil, err
- }
- if err := gz.Close(); err != nil {
- return nil, err
- }
- return b.Bytes(), nil
- }
- func GZIPDe(in []byte) ([]byte, error) {
- reader, err := gzip.NewReader(bytes.NewReader(in))
- if err != nil {
- var out []byte
- return out, err
- }
- defer reader.Close()
- return ioutil.ReadAll(reader)
- }
|