C#
C#
Compress Text Feed to Binary
See more Compression Examples
This example receives incoming text data in chunks, compresses as a stream, and accumulates the compressed binary data.Chilkat C# Downloads
bool success = false;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Chilkat.BinData bdCompressed = new Chilkat.BinData();
Chilkat.Compression compress = new Chilkat.Compression();
compress.Algorithm = "deflate";
compress.Charset = "utf-8";
Chilkat.StringBuilder sbUncompressedChunk = new Chilkat.StringBuilder();
compress.FirstChunk = true;
compress.LastChunk = false;
int i;
for (i = 0; i <= 24; i++) {
if (i == 24) {
compress.LastChunk = true;
}
sbUncompressedChunk.Clear();
sbUncompressedChunk.AppendInt(i);
sbUncompressedChunk.Append(": This is a line of data to be compressed...\r\n");
compress.CompressSb(sbUncompressedChunk,bdCompressed);
compress.FirstChunk = false;
}
// Show the compressed data in hex format:
Debug.WriteLine("The hex encoded compressed text:");
Debug.WriteLine(bdCompressed.GetEncoded("hex"));
// Now decompress in one call. It is important to set both FirstChunk and LastChunk = true
Chilkat.BinData bdDecompressed = new Chilkat.BinData();
compress.FirstChunk = true;
compress.LastChunk = true;
success = compress.DecompressBd2(bdCompressed,bdDecompressed);
if (success == false) {
Debug.WriteLine(compress.LastErrorText);
return;
}
string originalText = bdDecompressed.GetString("utf-8");
Debug.WriteLine(originalText);