我正在尝试使用包“compress/gzip”压缩一段字节。我正在写入 bytes.Buffer 并且正在写入 45976 字节,当我尝试使用 gzip.reader 然后读取器功能解压缩内容时 - 我发现并非所有内容都已恢复。bytes.buffer 有一些限制吗?这是一种绕过或改变它的方法吗?这是我的代码(编辑):
func compress_and_uncompress() {
var buf bytes.Buffer
w := gzip.NewWriter(&buf)
i,err := w.Write([]byte(long_string))
if(err!=nil){
log.Fatal(err)
}
w.Close()
b2 := make([]byte, 80000)
r, _ := gzip.NewReader(&buf)
j, err := r.Read(b2)
if(err!=nil){
log.Fatal(err)
}
r.Close()
fmt.Println("Wrote:", i, "Read:", j)
}
测试的输出(选择的字符串为 long_string)将给出 Wrote: 45976, Read 32768