Sample code for 30+ languages & platforms
Go

Compress and Decompress a String

See more Compression Examples

Demonstrates how to compress and decompress a string.

Chilkat Go Downloads

Go
    success := false

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    sb := chilkat.NewStringBuilder()

    var i int
    for i = 1; i <= 20; i++ {
        sb.Append("This is the original uncompressed string.\r\n")
    }

    compress := chilkat.NewCompression()
    compress.SetAlgorithm("deflate")
    // Indicate that the utf-8 byte representation of the string should be compressed.
    compress.SetCharset("utf-8")

    var compressedBytes []byte
    compressedBytes = compress.CompressString(*sb.GetAsString())

    // If the compressed data is desired in string format, then get the base64 representation of the bytes.
    compress.SetEncodingMode("base64")
    compressedBase64 := compress.CompressStringENC(*sb.GetAsString())
    fmt.Println("Compressed Bytes as Base64: ", *compressedBase64)

    // Now decompress...
    decompressedString := compress.DecompressString(compressedBytes)
    fmt.Println("The original string after decompressing from binary compressed data:")
    fmt.Println(*decompressedString)

    // To decompress from Base64...
    compress.SetEncodingMode("base64")
    decompressedString = compress.DecompressStringENC(*compressedBase64)
    fmt.Println("The original string after decompressing from Base64:")
    fmt.Println(*decompressedString)

    sb.DisposeStringBuilder()
    compress.DisposeCompression()