使用golang标准库zip包对字符串进行压缩和解压,直接上码
package main
import (
"bytes"
"compress/zlib"
"fmt"
"io/ioutil"
)
/*
@Time : 2021/9/13 17:09
@Author: iokde.com
*/
func main() {
str := "iokde.com"
fmt.Println("origin info is :", str)
zipResult := zipStr(str)
fmt.Println("zip result :", zipResult)
origin := unzipStr(zipResult)
fmt.Printf("zip string decode result: %s", origin)
}
func zipStr(origin string) (content string) {
var b bytes.Buffer
w := zlib.NewWriter(&b)
w.Write([]byte(origin))
w.Close()
return b.String()
}
func unzipStr(zipContent string) (originInfo []byte) {
var b bytes.Buffer
b.WriteString(zipContent)
r, err := zlib.NewReader(&b)
if err != nil {
fmt.Println(" err : ", err)
}
defer r.Close()
//r.Close()
originInfo, err = ioutil.ReadAll(r)
if err != nil {
fmt.Println(" err : ", err)
}
return originInfo
}
运行结果如下:
origin info is : iokde.com
zip result : x����NI�K�� ���z
zip string decode result: iokde.com
zip压缩的结果是乱码,但是还原解压缩后是正常的; 参考:go pkg compress/zlib
本文链接:https://iokde.com/post/golang-zip-copress-decompresso.html,参与评论 »
--EOF--
发表于 2021-09-13 17:24:00,并被添加「golang」标签。
本站使用「署名 4.0 国际」创作共享协议,转载请注明作者及原网址。tools更多说明 »
提醒:本文最后更新于 994 天前,文中所描述的信息可能已发生改变,请谨慎使用。
Comments