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已經幫你實現了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章