arrays - 如何在golang中gzip字符串并返回字节数组

标签 arrays string go gzip

我的Java代码如下:

    public static byte[] gzip(String str) throws Exception{
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    GZIPOutputStream gos = new GZIPOutputStream(baos);
    gos.write(str.getBytes("UTF-8"));
    gos.close();
    return baos.toByteArray();
}

java-如何在golang中gzip字符串并返回golang中的字节数组?

最佳答案

这是使用标准库compress/gzipgzipString函数的完整示例

package main

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

func gzipString(src string) ([]byte, error) {
    var buf bytes.Buffer
    zw := gzip.NewWriter(&buf)

    _, err := zw.Write([]byte(src))
    if err != nil {
        return nil, err
    }

    if err := zw.Close(); err != nil {
        return nil, err
    }

    return buf.Bytes(), nil
}

func main() {
    gzippedBytes, err := gzipString("")
    if err != nil {
        panic(err)
    }
    fmt.Printf("Zipped out: %v", gzippedBytes)
}

关于arrays - 如何在golang中gzip字符串并返回字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61077668/

相关文章:

php - 从数组中删除多个值

java - 简单的Java数组问题

python - 元组列表(从元组中删除特殊项目)

python - 从特定邮件地址逐行解析电子邮件

去选择 channel 并收集结果

go - Go 中的 channel /go 例程同步问题

c - C中整数指针数组的静态初始化错误

javascript - 当两个不同对象的两个值匹配时,向对象添加新的键/对

c - C语言中如何将字符串转换为整数?

json - 使用 json.Unmarshal 与 json.NewDecoder.Decode 解码 JSON