怎么在Golang中使用zlib对字符串进行压缩和解压缩

  介绍

怎么在Golang中使用zlib对字符串进行压缩和解压缩?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

zlib.NewWriter()只能传递[]字节类型数据只,NewWriterLevel可以传递压缩的等级。

package 主要   ,   import  (   ,“bytes"   ,“压缩/zlib"   ,“fmt"   ,“无力偿贷;   )   ,   func  main (), {   var  bytes.Buffer拷贝   ,b :=,[]字节(“xiorui.cc”)   ,w :=, zlib.NewWriter (,)   ,w.Write (b)   ,w.Close ()   ,   var  out  bytes.Buffer   ,r, _ :=, zlib.NewReader (,)   ,io.Copy (,,, r)   ,fmt.Println (out.String ())   ,   }

库包地址

<代码>进口“压缩/zlib"

写入

func  NewWriter   ,   func 才能;NewWriter (w  io.Writer), *作家

读取压缩的数据

func  NewReader   ,   func 才能;NewReader (r  io.Reader), (io.ReadCloser,错误)

设置压缩等级,并压缩数据

<代码> func NewWriterLevel (w。作家,水平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 (*作家),写作   ,   func 才能;(z  *作家),写(p []字节),(n , int, err 错误)

关闭

func (*作家),关闭   ,   func 才能;(z  *作家),关闭(),误差

看完上述内容,你们掌握怎么在Golang中使用zlib对字符串进行压缩和解压缩的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

怎么在Golang中使用zlib对字符串进行压缩和解压缩