在 java 中,可以使用 java.util.zip.deflater 类来压缩字符串。而在 go 中,虽然提供了 compress/gzip 库,但它不会输出与 java 一致的压缩结果。
为了实现与 java 相同的压缩行为,可以使用第三方库,例如:
- github.com/ayancy/sdc:该库提供了 deflater 和 inflater 的纯 go 实现,可以与 java 中的对应实现一致。
安装 sdc 库:
立即学习“Java免费学习笔记(深入)”;
点击下载“嗨格式压缩大师”;
go get github.com/ayancy/sdc
登录后复制
使用 sdc 压缩字符串:
package mAIn import ( "compress/sdc" "fmt" "strings" ) func main() { str := "this is a test string" // 创建 Deflater 对象 deflater, err := sdc.NewDeflater(sdc.DefaultCompression) if err != nil { fmt.Println(err) return } defer deflater.Close() // 压缩字符串 compressed, err := deflater.DeflateString(str) if err != nil { fmt.Println(err) return } // 输出压缩后的字符串 fmt.Println(strings.Join(compressed, " ")) }
登录后复制
© 版权声明
文章版权归作者所有,未经允许请勿转载。
【小浪云服务商 - 服务器12元起 - 挂机宝5元起】
THE END
暂无评论内容