![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(C#) Compressing StringBuilder Data Using CompressSb (Single Call and Chunked)See more Compression ExamplesThis example demonstrates how to compress text stored in aStringBuilder using the CompressSb method in two ways:
The example shows how compressed output is appended to a Key Points
bool success = false; // This example assumes the Chilkat API has already been unlocked. // See Global Unlock Sample for sample code. Chilkat.Compression compress = new Chilkat.Compression(); compress.Algorithm = "zlib"; // ================================================================ // 1) Single-call compression (entire data in one call) // ================================================================ Chilkat.StringBuilder sb = new Chilkat.StringBuilder(); sb.Append("The quick brown fox jumps over the lazy dog. "); sb.Append("This is a simple example using CompressSb."); Chilkat.BinData bdCompressed = new Chilkat.BinData(); // When both FirstChunk and LastChunk are true (the defaults), // the entire compression happens in a single call. compress.FirstChunk = true; compress.LastChunk = true; success = compress.CompressSb(sb,bdCompressed); if (success == false) { Debug.WriteLine(compress.LastErrorText); return; } string compressedBase64 = bdCompressed.GetEncoded("base64"); Debug.WriteLine("Single-call compressed (base64):"); Debug.WriteLine(compressedBase64); // ================================================================ // 2) Chunked compression using FirstChunk / LastChunk // ================================================================ Chilkat.BinData bdChunkedOut = new Chilkat.BinData(); // First chunk compress.FirstChunk = true; compress.LastChunk = false; Chilkat.StringBuilder sbPart = new Chilkat.StringBuilder(); sbPart.Append("The quick brown fox "); success = compress.CompressSb(sbPart,bdChunkedOut); if (success == false) { Debug.WriteLine(compress.LastErrorText); return; } // Middle chunk compress.FirstChunk = false; compress.LastChunk = false; sbPart.Clear(); sbPart.Append("jumps over the lazy dog. "); success = compress.CompressSb(sbPart,bdChunkedOut); if (success == false) { Debug.WriteLine(compress.LastErrorText); return; } // Final chunk compress.FirstChunk = false; compress.LastChunk = true; sbPart.Clear(); sbPart.Append("This is a chunked CompressSb example."); success = compress.CompressSb(sbPart,bdChunkedOut); if (success == false) { Debug.WriteLine(compress.LastErrorText); return; } string chunkedBase64 = bdChunkedOut.GetEncoded("base64"); Debug.WriteLine("Chunked compressed (base64):"); Debug.WriteLine(chunkedBase64); // ================================================================ // 3) Decompress to verify correctness // ================================================================ Chilkat.StringBuilder sbDecompressed = new Chilkat.StringBuilder(); // Decompress in a single call (entire data already assembled) compress.FirstChunk = true; compress.LastChunk = true; success = compress.DecompressSb(bdChunkedOut,sbDecompressed); if (success == false) { Debug.WriteLine(compress.LastErrorText); return; } Debug.WriteLine("Decompressed text:"); Debug.WriteLine(sbDecompressed.GetAsString()); |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.