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(@"%@",@"--");