Skip to content

Instantly share code, notes, and snippets.

@ArtSabintsev
Created January 30, 2015 02:55
Show Gist options
  • Save ArtSabintsev/ecfdfe8e52657923ed7e to your computer and use it in GitHub Desktop.
Save ArtSabintsev/ecfdfe8e52657923ed7e to your computer and use it in GitHub Desktop.
NSString+Base64 (iOS 7+)

Encoding Strings

NSString *aString = @"Hello, iOS 7!" 
NSString *encodedString = [NSString encodeBase64String:aString]
NSLog(@"Encoded String %@", encodedString) // returns 'SGVsbG8sIGlPUyA3IQ=='

Decoding Strings

NSString *aString = @"SGVsbG8sIGlPUyA3IQ==" 
NSString *decodedString = [NSString decodeBase64String:aString]
NSLog(@"Decoded String %@", decodedString) // returns 'Hello, iOS 7!'
#import <Foundation/Foundation.h>
@interface NSString (Base64)
+ (instancetype)encodeBase64String:(NSString *)stringToEncode;
+ (instancetype)decodeBase64String:(NSString *)stringToDeccode;
@end
#import "NSString+ASBase64.h"
@implementation NSString (Base64)
+ (instancetype)encodeBase64String:(NSString *)stringToEncode
{
NSData *dataToEncode = [stringToEncode dataUsingEncoding:NSUTF8StringEncoding];
NSData *encodedData = [dataToEncode base64EncodedDataWithOptions:0];
NSString *encodedString = [[NSString alloc] initWithData:encodedData encoding:NSUTF8StringEncoding];
return encodedString;
}
+ (instancetype)decodeBase64String:(NSString *)stringToDeccode
{
NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:stringToDeccode options:0];
NSString *decodedString = [[NSString alloc] initWithData:decodedData encoding:NSUTF8StringEncoding];
return decodedString;
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment