使用原生的Base64
Base64是使用ASCII码显示二进制数据的一种流行方法。直到现在,开发者还不得不使用开源的工具来编码解码Base64的内容。
现在iOS7引入了以下四种新的NSData方法来操作Base64编码的数据:
-
-
-
-
- - (id)initWithBase64EncodedString:(NSString *)base64String options:(NSDataBase64DecodingOptions)options;
-
-
-
- - (NSString *)base64EncodedStringWithOptions:(NSDataBase64EncodingOptions)options;
-
-
-
- - (id)initWithBase64EncodedData:(NSData *)base64Data options:(NSDataBase64DecodingOptions)options;
-
-
-
- - (NSData *)base64EncodedDataWithOptions:(NSDataBase64EncodingOptions)options;
这些方法可以帮助你轻易的将NSData对象转化为Base64,或者将Base64转化为NSData object。见以下的例子:
- NSData* sampleData = [@"Some sample data" dataUsingEncoding:NSUTF8StringEncoding];
-
- NSString * base64String = [sampleData base64EncodedStringWithOptions:0];
- NSLog(@"Base64-encoded string is %@", base64String);
-
- NSData* dataFromString = [[NSData alloc] initWithBase64EncodedString:base64String options:0];
- NSLog(@"String is %@",[NSString stringWithUTF8String:[dataFromString bytes]]);
如果你需要支持iOS6或者更早以前的系统,你可以使用以下两个方法:
-
-
- - (id)initWithBase64Encoding:(NSString *)base64String;
- - (NSString *)base64Encoding;
来自:http://www.cocoachina.com/applenews/devnews/2014/0117/7715.html