Sample code for 30+ languages & platforms
Objective-C

Get Compressed ZIP Entry Data as Base64 Using ZipEntry.CopyToBase64

See more Zip Examples

This example creates a small ZIP archive containing a text file added from memory, writes the ZIP to disk, re-opens it, and then uses ZipEntry.CopyToBase64 to retrieve the compressed data for the text file as a Base64-encoded string.

The Base64 string returned by CopyToBase64 represents the compressed bytes stored for the entry inside the ZIP archive. It is not the original uncompressed text data.

Chilkat Objective-C Downloads

Objective-C
#import <CkoZip.h>
#import <CkoZipEntry.h>
#import <NSString.h>

BOOL success = NO;

//  ------------------------------------------------------------
//  First create a sample ZIP archive containing a small text file.

CkoZip *zip = [[CkoZip alloc] init];

success = [zip NewZip: @"c:/temp/sampleText.zip"];
if (success == NO) {
    NSLog(@"%@",zip.LastErrorText);
    return;
}

//  Add a small text file from memory.
//  The text is stored in the ZIP as "hello.txt".
success = [zip AddString: @"hello.txt" content: @"Hello from a ZIP entry!" charset: @"utf-8"];
if (success == NO) {
    NSLog(@"%@",zip.LastErrorText);
    return;
}

//  Write the ZIP archive to disk and close it.
success = [zip WriteZipAndClose];
if (success == NO) {
    NSLog(@"%@",zip.LastErrorText);
    return;
}

//  ------------------------------------------------------------
//  Now open the ZIP archive we just created.

CkoZip *zip2 = [[CkoZip alloc] init];

success = [zip2 OpenZip: @"c:/temp/sampleText.zip"];
if (success == NO) {
    NSLog(@"%@",zip2.LastErrorText);
    return;
}

//  Get the text file entry.
CkoZipEntry *entry = [[CkoZipEntry alloc] init];

success = [zip2 EntryOf: @"hello.txt" entry: entry];

if (success == NO) {
    NSLog(@"%@",@"Entry not found.");
    return;
}

//  Get the compressed ZIP entry data as Base64.
//  
//  This is the compressed data stored inside the ZIP file,
//  not the uncompressed text "Hello from a ZIP entry!".
NSString *b64 = [entry CopyToBase64];

NSLog(@"%@",@"Base64 compressed ZIP entry data:");
NSLog(@"%@",b64);

[zip2 CloseZip];

NSLog(@"%@",@"Done.");