怎么在Golang中使用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對字符串進行壓縮和解壓縮的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。