iOS、OC系统自带base64

自带base64方法的使用示例:


NSData* originData = [originStr dataUsingEncoding:NSASCIIStringEncoding];
NSString* encodeResult = [originData base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
NSLog(@"encodeResult:%@",encodeResult);
NSData* decodeData = [[NSData alloc] initWithBase64EncodedString:encodeResult options:0];
NSString* decodeStr = [[NSString alloc] initWithData:decodeData encoding:NSASCIIStringEncoding];

在iOS7之前,Base64的 编码和解码是需要自己实现的或者使用第三方库。典型的Apple风格,现在是非常容易的使用这个功能。有四个Base64方法如下:

- (id)initWithBase64EncodedString:(NSString *)base64String options:(NSDataBase64DecodingOptions)options;
- (NSString *)base64EncodedStringWithOptions:(NSDataBase64EncodingOptions)options;
- (id)initWithBase64EncodedData:(NSData *)base64Data options:(NSDataBase64DecodingOptions)options;
- (id)initWithBase64EncodedData:(NSData *)base64Data options:(NSDataBase64DecodingOptions)options;
- (NSData *)base64EncodedDataWithOptions:(NSDataBase64EncodingOptions)options;
头两个方法是处理字符串的,后两个方法是处理UTF-8编码数据的。这两个成对的方法功能是一样的,但是有时候用其中一个比另一个效率要高。如果你想要Base64编码字符串然后写进文件,你应该使用UTF-8编码数据的这对方法。另一方面,如果你打算Base64编码字符串然后用做JSON,你应该使用另外一对方法。如果你曾经实现过Base64编码方法,现在可以删除了,因为Apple已经帮你实现了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章