Objective-C
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
#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.");