Golang笔记

golang 用falte zip 压缩、解压字符串

golang 用falte zip 压缩、解压字符串

package main

import (
	"bytes"
	"compress/flate"
	"fmt"
	"io/ioutil"
)

func FlateEncode(input string) (result []byte, err error) {
	var buf bytes.Buffer
	w, err := flate.NewWriter(&buf, -1)
	w.Write([]byte(input))
	w.Close()
	result = buf.Bytes()
	return
}

func FlateDecode(input []byte) (result []byte, err error) {
	result, err = ioutil.ReadAll(flate.NewReader(bytes.NewReader(input)))
	return
}

func main() {
	s := "Hello, 世界Hello, 世界Hello, 世界Hello, 世界Hello, 世界Hello, 世界"
	fmt.Println(s, len(s))
	s1, err := FlateEncode(s)
	if err != nil {
		panic(err)
	}
	fmt.Println(len(s1))

	// flate
	enflated, err := FlateDecode(s1)
	if err != nil {
		panic(err)
	}
	fmt.Println(string(enflated))

}

输出:

Hello, 世界Hello, 世界Hello, 世界Hello, 世界Hello, 世界Hello, 世界 78
22
Hello, 世界Hello, 世界Hello, 世界Hello, 世界Hello, 世界Hello, 世界
本文网址: https://golangnote.com/topic/168.html (转载注明出处)
关于GolangNote:记录在工作中使用golang 遇到、面临的相关问题及解决方法。如果你在这里获得一些知识或信息,解决你的编程问题,请考虑捐赠给不幸的人或者你喜欢的慈善机构,除捐赠外,种植树木、志愿服务或减少排碳的行为也很有益处。如果你有任何问题可以在下面 留言
Be the first to comment!
Captcha image
Relative Articles