Sample code for 30+ languages & platforms
Objective-C

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 Objective-C Downloads

Objective-C
#import <CkoBinData.h>
#import <CkoCompression.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.

// First create some binary data to compress.
CkoBinData *binData = [[CkoBinData alloc] init];

int i;
for (i = 1; i <= 16; i++) {
    [binData AppendEncoded: @"000102030405060708090A0B0C0D0E0F" encoding: @"hex"];
}

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

NSData uncompressedBytes;
uncompressedBytes = [binData GetBinary];

// Compress and return the compressed bytes in base64 format.
NSString *compressedBase64 = [compress CompressBytesENC: uncompressedBytes];
NSLog(@"%@%@",@"compressed and base64 encoded: ",compressedBase64);

// Compress and return in hex format:
compress.EncodingMode = @"hex";
NSString *compressedHex = [compress CompressBytesENC: uncompressedBytes];
NSLog(@"%@%@",@"compressed and hex encoded: ",compressedHex);

// Now decompress..
CkoBinData *binData2 = [[CkoBinData alloc] init];

// Decompress the base64..
compress.EncodingMode = @"base64";
uncompressedBytes = [compress DecompressBytesENC: compressedBase64];
[binData2 AppendBinary: uncompressedBytes];
// Show the uncompressed bytes in hex format:
NSLog(@"%@",[binData2 GetEncoded: @"hex"]);
NSLog(@"%@",@"--");

// Decompress the hex..
compress.EncodingMode = @"hex";
uncompressedBytes = [compress DecompressBytesENC: compressedHex];
[binData2 Clear];
[binData2 AppendBinary: uncompressedBytes];
// Show the uncompressed bytes in hex format:
NSLog(@"%@",[binData2 GetEncoded: @"hex"]);
NSLog(@"%@",@"--");