Swift
Swift
Compress Text from StringBuilder to Gzip (BinData Output)
See more Gzip Examples
This example demonstrates how to use the CompressSb method to compress text stored in a StringBuilder into Gzip format.
The text is first converted to its byte representation using the specified character set (in this case, UTF-8). These bytes are then compressed, and the resulting Gzip data is written to a BinData object in memory.
This approach is useful when working with dynamically generated text that you want to compress without first writing it to a file. The example also shows how the compressed data can optionally be saved to a .gz file.
Chilkat Swift Downloads
func chilkatTest() {
var success: Bool = false
// This example demonstrates how to compress text contained in a StringBuilder
// into Gzip format, storing the compressed result in a BinData object.
let gzip = CkoGzip()!
let sb = CkoStringBuilder()!
let bd = CkoBinData()!
// Add some text to the StringBuilder:
sb.append(value: "The quick brown fox jumps over the lazy dog.")
// Compress the text using UTF-8 encoding:
success = gzip.compressSb(sb: sb, charset: "utf-8", bd: bd)
if success == false {
print("\(gzip.lastErrorText!)")
return
}
// The BinData now contains the Gzip-compressed bytes.
print("Compression successful.")
print("Compressed size (bytes): \(bd.numBytes.intValue)")
// (Optional) Save to a .gz file:
success = bd.writeFile(path: "text.gz")
if success == false {
print("\(bd.lastErrorText!)")
return
}
print("Gzip file written to text.gz")
}