在python的时候就习惯使用zlib进行网页压缩。 golang下同样使用zlib进行压缩解压缩。 zlib官方给出的方法很简单,这里权当一个补充.
zlib.NewWriter() 只能传递 []byte类型数据. NewWriterLevel 可以传递压缩的等级.
package main import ( "bytes" "compress/zlib" "fmt" "io" ) func main() { var in bytes.Buffer b := []byte(`xiorui.cc`) w := zlib.NewWriter(&in) w.Write(b) w.Close() var out bytes.Buffer r, _ := zlib.NewReader(&in) io.Copy(&out, r) fmt.Println(out.String()) }
库包地址
import "compress/zlib"
写入
func NewWriter func NewWriter(w io.Writer) *Writer
读取压缩的数据
func NewReader func NewReader(r io.Reader) (io.ReadCloser, error)
设置压缩等级,并压缩数据
func NewWriterLevel(w io.Writer, level int) (io.WriteCloser, os.Error)
下面是几个级别.
const ( NoCompression = 0 BestSpeed = 1 BestCompression = 9 DefaultCompression = -1 ) const ( NoCompression = flate.NoCompression BestSpeed = flate.BestSpeed BestCompression = flate.BestCompression DefaultCompression = flate.DefaultCompression )
写入数据
func (*Writer) Write func (z *Writer) Write(p []byte) (n int, err error)
关闭
func (*Writer) Close func (z *Writer) Close() error
Golang zlib压缩的效率和性能都还可以, 毕竟rsync也在用这个压缩算法。 其实zlib和gzip对比,貌似用gzip的多一点。 比如nginx的gzip压缩. 以前看过国外一个帖子,是说zlib比gzip更适合那种速度跟压缩效果均衡的场景。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
更新日志
2024年11月22日
2024年11月22日
- 【古典音乐】图蕾克《巴赫-哥德堡变奏曲》(羽管键琴版)2CD.2004[FLAC+CUE整轨]
- 童丽《季候风》双层SACD头版限量珍藏[WAV+CUE][1.1G]
- 谭咏麟《倾·听》2022改编歌曲[WAV+CUE][1.2G]
- 证声音乐图书馆《毕业季·青春爵士》[320K/MP3][49.17MB]
- 张国荣《劲歌集》欧盟压碟[原抓WAV+CUE]
- 黄安《明明知道相思苦》[WAV+CUE]
- 李俊广VS许岚岚《秋蝉》[低速原抓WAV+CUE]
- 证声音乐图书馆《毕业季·青春爵士》[FLAC/分轨][265.35MB]
- 证声音乐图书馆《爵士嘉年华 Big Band Swing》[320K/MP3][62.44MB]
- 证声音乐图书馆《爵士嘉年华 Big Band Swing》[FLAC/分轨][239.3MB]
- 中国民歌宝典《民歌精粹经典珍藏》12CD[WAV]
- 阿姆斯特丹小交响乐团演奏《室内交响曲》SACD-WAV
- Parijat-BuddhaGarden《佛陀花园》[WAV+CUE]
- 证声音乐图书馆《巴莎诺瓦 惬意咖啡馆》[320K/MP3][220.56MB]
- 证声音乐图书馆《巴莎诺瓦 惬意咖啡馆》[FLAC/分轨][220.56MB]