[英]Converting between NSData and base64 strings
向下滾動到您鏈接的頁面上的結論部分,然后下載提供的NSData + Base64文件 。 它是迄今為止我見過的最好的解決方案,非常容易使用。 如果您可以了解有關Cocoa的任何信息,您可以學習使用該項目。
例
NSString *originalString = [NSString stringWithFormat:@"test"];
NSData *data = [NSData dataFromBase64String:originalString];
NSLog([data base64EncodedString]);
以上將在將其轉換為base64並返回到正常的未編碼字符串后打印出原始字符串。
從iOS 7開始, NSData
現在直接使用新方法-base64EncodedDataWithOptions:
和-base64EncodedStringWithOptions:
提供此功能。 (這些選項允許您指定字符串是/應該是換行的,更好地處理電子郵件和面向用戶的顯示。)
您不需要任何自定義實現。 從NSData創建base64將在其他答案中顯示。 有相反的方向。 從Base64字符串到NSData:
NSString *base64Encoded = @"some base64 string";
NSData *nsdataFromBase64String = [[NSData alloc] initWithBase64EncodedString:base64Encoded options:0];
我最終使用了SUDZC提供的同一個類
實施很容易我先做了一個導入
#import "NSData+Base64.h"
然后我就能調用我的數據了。
NSData *data = [[NSData alloc] initWithData:[NSData dataWithBase64EncodedString:strData]];
或者您可以查看(非常新的) CryptoCompatibility示例項目,我認為有一個用於base64操作的包裝類。 它是一個MacOS示例,但它使用庫libresolve.dylib,我認為也可以在iOS上使用(至少在iOS7中看到它)。
請注意,還有更多Base64格式。
例如,JWT使用URL安全格式 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.