Go
Go
Compress Bytes to Base64 (or any other encoding)
See more Compression Examples
Compresses bytes to base64 or any other encoding. Also decompress to return the original.Chilkat Go Downloads
success := false
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// First create some binary data to compress.
binData := chilkat.NewBinData()
var i int
for i = 1; i <= 16; i++ {
binData.AppendEncoded("000102030405060708090A0B0C0D0E0F","hex")
}
compress := chilkat.NewCompression()
compress.SetAlgorithm("deflate")
compress.SetEncodingMode("base64")
var uncompressedBytes []byte
uncompressedBytes = binData.GetBinary()
// Compress and return the compressed bytes in base64 format.
compressedBase64 := compress.CompressBytesENC(uncompressedBytes)
fmt.Println("compressed and base64 encoded: ", *compressedBase64)
// Compress and return in hex format:
compress.SetEncodingMode("hex")
compressedHex := compress.CompressBytesENC(uncompressedBytes)
fmt.Println("compressed and hex encoded: ", *compressedHex)
// Now decompress..
binData2 := chilkat.NewBinData()
// Decompress the base64..
compress.SetEncodingMode("base64")
uncompressedBytes = compress.DecompressBytesENC(*compressedBase64)
binData2.AppendBinary(uncompressedBytes)
// Show the uncompressed bytes in hex format:
fmt.Println(*binData2.GetEncoded("hex"))
fmt.Println("--")
// Decompress the hex..
compress.SetEncodingMode("hex")
uncompressedBytes = compress.DecompressBytesENC(*compressedHex)
binData2.Clear()
binData2.AppendBinary(uncompressedBytes)
// Show the uncompressed bytes in hex format:
fmt.Println(*binData2.GetEncoded("hex"))
fmt.Println("--")
binData.DisposeBinData()
compress.DisposeCompression()
binData2.DisposeBinData()