Sample code for 30+ languages & platforms
Objective-C

Compress String Feed to Base64

See more Compression Examples

This example receives incoming text data in chunks, compresses as a stream, and accumulates the compressed data in base64.

Chilkat Objective-C Downloads

Objective-C
#import <CkoStringBuilder.h>
#import <CkoCompression.h>
#import <CkoBinData.h>
#import <NSString.h>

BOOL success = NO;

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

CkoStringBuilder *sbCompressedBase64 = [[CkoStringBuilder alloc] init];

CkoCompression *compress = [[CkoCompression alloc] init];
compress.Algorithm = @"deflate";
compress.Charset = @"utf-8";
compress.EncodingMode = @"base64";

compress.FirstChunk = YES;
compress.LastChunk = NO;

CkoBinData *bdCompressed = [[CkoBinData alloc] init];
CkoStringBuilder *sbUncompressedChunk = [[CkoStringBuilder alloc] init];

int i;
for (i = 0; i <= 24; i++) {
    if (i == 24) {
        compress.LastChunk = YES;
    }

    [sbUncompressedChunk Clear];
    [sbUncompressedChunk AppendInt: [NSNumber numberWithInt: i]];
    [sbUncompressedChunk Append: @": This is a line of data to be compressed...\r\n"];

    [compress CompressSb: sbUncompressedChunk binData: bdCompressed];

    compress.FirstChunk = NO;
}

NSLog(@"%@",@"The base64 encoded compressed text:");
NSLog(@"%@",[bdCompressed GetEncoded: @"base64"]);

// Decompress in one call:
NSString *originalText = [compress DecompressStringENC: [bdCompressed GetEncoded: @"base64"]];
NSLog(@"%@",originalText);