Sample code for 30+ languages & platforms
Objective-C

Extract data:image/png;base64 from HTML

See more Base64 Examples

Demonstrates how to extract base64 image data from HTMl and save to files.

Chilkat Objective-C Downloads

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

BOOL success = NO;

CkoStringBuilder *sb = [[CkoStringBuilder alloc] init];
CkoBinData *bd = [[CkoBinData alloc] init];
CkoStringBuilder *sbFilename = [[CkoStringBuilder alloc] init];
int index = 1;

success = [sb LoadFile: @"qa_data/html/oresp body.txt" charset: @"utf-8"];
//  Assume success.
NSLog(@"%@%d",@"length = ",[sb.Length intValue]);

BOOL mayHaveMore = YES;
while (mayHaveMore == YES) {

    //  Get the base64 between the 1st occurrence "data:image/png;base64," and "'"
    NSString *sBase64 = [sb GetBetween: @"data:image/png;base64," endMark: @"'"];

    //  If nothing is found, then we'll exit the loop because there are no more.
    mayHaveMore = sb.LastMethodSuccess;

    if (sb.LastMethodSuccess == YES) {
        //  Found something.
        //  Load into bd and save.
        success = [bd LoadEncoded: sBase64 encoding: @"base64"];

        [sbFilename SetString: @"qa_output/png_"];
        [sbFilename AppendInt: [NSNumber numberWithInt: index]];
        [sbFilename Append: @".png"];

        [bd WriteFile: [sbFilename GetAsString]];

        //  Replace "data:image/png;base64" with "data:image-png;base64" so the next iteration finds the next occurrence.
        [sb ReplaceFirst: @"data:image/png;base64" replacement: @"data:image-png;base64"];
    }

    index = index + 1;
}

//  Restore our replacements..
int count = [[sb Replace: @"data:image-png;base64" replacement: @"data:image/png;base64"] intValue];

NSLog(@"%@",@"All done.");