gpt4 book ai didi

go - 如何在字符串上使用 gzip?

转载 作者:IT王子 更新时间:2023-10-29 01:06:47 25 4
gpt4 key购买 nike

我想用 Go 从文件中读出一个 block ,把它当作一个 stringgzip 这个 block 。我知道如何从文件中读取并将其视为 string,但是当涉及到 compress/gzip 时,我迷路了。

我应该创建一个 io.writer,它写入一个 buf(字节 slice ),使用 gzip.NewWriter(io.writer) 获取 w *gzip.Writer 然后使用 w.Write(chunk_of_file) 将文件 block 写入 buf?然后我需要将字符串视为字节 slice 。

最佳答案

你可以使用 gzip.Writer 来写因为它实现了 io.Writer

例子:

package main

import (
"bytes"
"compress/gzip"
"fmt"
"log"
)

func main() {
var b bytes.Buffer
gz := gzip.NewWriter(&b)
if _, err := gz.Write([]byte("YourDataHere")); err != nil {
log.Fatal(err)
}
if err := gz.Close(); err != nil {
log.Fatal(err)
}
fmt.Println(b.Bytes())
}

Go Playground

如果你想设置压缩级别(默认为 -1 来自 compress/flate )你可以使用 gzip.NewWriterLevel .

关于go - 如何在字符串上使用 gzip?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19197874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com