ios base64 encoding&decoding Objective-C

From WikipediaWi -

Base64 is a group of similar binary-to-text encoding schemes that represent binary data in an ASCII string format by translating it into a radix-64 representation. The term Base64 originates from a specific MIME content transfer encoding.

直接例子上代码示例。代码1 用Base64加密”宇宙”二字,代码2 将Base64字符串解密为普通字符串。

var str = "宇宙"

//1 Encoding
let plainData = str.dataUsingEncoding(NSUTF8StringEncoding)
let base64String = plainData?.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
print(base64String!) // 5a6H5a6Z

//2 Decoding
let decodeData = NSData(base64EncodedString: base64String!, options: NSDataBase64DecodingOptions(rawValue: 0))
let decodeString = NSString(data: decodeData!, encoding: NSUTF8StringEncoding)
print(decodeString) // 宇宙

Objective-C

NSString *str = @"宇宙";

//1 Encoding
NSData *plainData = [str dataUsingEncoding:NSUTF8StringEncoding];
NSString *base64String = [plainData base64EncodedStringWithOptions:0];
NSLog(@"%@",base64String); // 5a6H5a6Z

//2 Decoding
NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:base64String options:0];
NSString *decodedString = [[NSString alloc] initWithData:decodedData encoding:NSUTF8StringEncoding];
NSLog(@"%@",decodedString); // 宇宙