arrays - 如何在golang中压缩字符串并返回字节数组
问题描述
我的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 完成时 gzip 字符串并在 golang 中返回字节数组?
解决方案
gzipString
这是使用标准库compress/gzip的函数的完整示例
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)
}
推荐阅读
- javascript - 如何将 URL 数组转换为树/文件夹结构数据?
- c++ - 如何在 OpenGL 中实现两个不同的窗口(非当代)
- javascript - 我如何在 DOM 中通过 li 标签计数器样式线
- python - WSL2:Python 使用 VS Code 调试器重命名文件
- php - MySQL 服务器已消失 - 数据包乱序。预期 0 收到 1. 数据包大小=72
- php - 如何在 laravel 8 中使用(路由)传递 slug 的参数?
- charts - ChartJS - 如何选择可见的数据标签
- c# - 带有 Web 和 GUI 项目的 C# 解决方案
- c - 如何打印结构的字段
- php - 链接缩短服务 API 返回 Null