2 Star 1 Fork 1

mosache/YFrame

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
compressor.go 736 Bytes
一键复制 编辑 原始数据 按行查看 历史
ヤ沒脩袮兲︶ 提交于 2023-08-29 18:31 . temp
package gzip
import (
"bytes"
"compress/gzip"
"errors"
"io"
)
type Compressor struct {
}
func (c Compressor) Code() uint8 {
return 1
}
func (c Compressor) Compress(data []byte) ([]byte, error) {
res := bytes.NewBuffer(nil)
w := gzip.NewWriter(res)
defer w.Close()
_, err := w.Write(data)
if err != nil {
return nil, err
}
err = w.Flush()
if err != nil {
return nil, err
}
return res.Bytes(), nil
}
func (c Compressor) UnCompress(data []byte) ([]byte, error) {
res := bytes.NewBuffer(data)
reader, err := gzip.NewReader(res)
if err != nil {
return nil, err
}
defer reader.Close()
r, err := io.ReadAll(reader)
if err != nil && !errors.Is(err, io.ErrUnexpectedEOF) {
return nil, err
}
return r, nil
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/mosache/YFrame.git
git@gitee.com:mosache/YFrame.git
mosache
YFrame
YFrame
v0.1.100

搜索帮助