Go 如何实现与 Java 字符串压缩一致的结果?
在 java 中,可以使用 java.util.zip.deflater 类来压缩字符串。而在 go 中,虽然提供了 compress/gzip 库,但它不会输出与 java 一致的压缩结果。
为了实现与 java 相同的压缩行为,可以使用第三方库,例如:
安装 sdc 库:
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, " ")) }