iOS開発-ベース:Base 64を使用してNSDataとNSStringオブジェクトをコーデック
3003 ワード
変換元:http://itony.me/488.html
概要:
iOS 7の正式版が発売されるにつれて、AppleはBase 64コーデックを使用するサポートを追加しました.この論文では、Base 64を使用してNSDataおよびNSStringオブジェクトを符号化する2つの例を示します.
まず、Base 64によってエンコードされたNSDataオブジェクトから生成されるNSStringオブジェクトを作成します.Base 64を使用してNSString復号化を行うと、NSDataオブジェクトに復元されます.NSStringの符号化と復号化後の内容を示し,すべてのプロセスに誤りがないことを保証する.
第2の例では、NSDataは、Base 64から/へ符号化および復号される.この例は、NSDataオブジェクトがある場合、Base 64符号化になる必要がある場合、またはBase 64符号化NSDataオブジェクトを復号する必要がある場合に適しています(理由にかかわらず).
Base 64符号化NSStringオブジェクトの作成
NSDataオブジェクトのBase 64符号化を開始し、NSStringオブジェクトを返します.
2行目では復号化のためのNSDataを作成した.6行目はこのデータを符号化し、NSStringオブジェクトを返します.
別の方法に戻ると、1つのBase 64で符号化されたNSStringオブジェクトをNSDataオブジェクトに変換することは非常に簡単であり、initWithBase 64 EncodedStringを呼び出し、Base 64で符号化されたNSStringを入力パラメータとして使用するだけである(14-15行).
18-20行では、Base 64 NSDataからNSStringに復元する方法(最初の例の文字列)を示します.
出力は次のように見えます.
Base 64を使用してNSDataオブジェクトをエンコード
NSDataオブジェクトをBase 64に直接符号化する方法と、NSDataに直接復号(復元)する方法を見てみましょう.
2行目でNSDataテストオブジェクトを作成しました.6行目ではbase 64 EncodedDataWithOptionsメソッドを呼び出し、データをBase 64符号化します.随州NSStringを使用してデータを変換し、後で復元したデータの内容が一致しているかどうかを確認するために表示しました.
このBase 64 NSDataを復号することは、呼び出し方法initWithBase 64 EncodedDataにほかならず、符号化されたNSDataを入力パラメータとする(13行目).もう一度、NSStringを作成してテストしました.
拡張読書
NSData class reference Base 64を使用してNSDataを符号化および復号する方法に関する情報が含まれている.
NSString class reference NSStringでの符号化と復号化の微妙な違いを述べた.
コマンドラインの下で符号化および復号化データをデバッグするとき、私が見つけたこれらの資料は、base 64 OS X terminal utility を記述するMac OS Xドキュメントに役立つかもしれません.
概要:
iOS 7の正式版が発売されるにつれて、AppleはBase 64コーデックを使用するサポートを追加しました.この論文では、Base 64を使用してNSDataおよびNSStringオブジェクトを符号化する2つの例を示します.
まず、Base 64によってエンコードされたNSDataオブジェクトから生成されるNSStringオブジェクトを作成します.Base 64を使用してNSString復号化を行うと、NSDataオブジェクトに復元されます.NSStringの符号化と復号化後の内容を示し,すべてのプロセスに誤りがないことを保証する.
第2の例では、NSDataは、Base 64から/へ符号化および復号される.この例は、NSDataオブジェクトがある場合、Base 64符号化になる必要がある場合、またはBase 64符号化NSDataオブジェクトを復号する必要がある場合に適しています(理由にかかわらず).
Base 64符号化NSStringオブジェクトの作成
NSDataオブジェクトのBase 64符号化を開始し、NSStringオブジェクトを返します.
// Create NSData object
NSData *nsdata = [@"iOS Developer Tips encoded in Base64"
dataUsingEncoding:NSUTF8StringEncoding];
// Get NSString from NSData object in Base64
NSString *base64Encoded = [nsdata base64EncodedStringWithOptions:0];
// Print the Base64 encoded string
NSLog(@"Encoded: %@", base64Encoded);
// Let's go the other way...
// NSData from the Base64 encoded str
NSData *nsdataFromBase64String = [[NSData alloc]
initWithBase64EncodedString:base64Encoded options:0];
// Decoded NSString from the NSData
NSString *base64Decoded = [[NSString alloc]
initWithData:nsdataFromBase64String encoding:NSUTF8StringEncoding];
NSLog(@"Decoded: %@", base64Decoded);
2行目では復号化のためのNSDataを作成した.6行目はこのデータを符号化し、NSStringオブジェクトを返します.
別の方法に戻ると、1つのBase 64で符号化されたNSStringオブジェクトをNSDataオブジェクトに変換することは非常に簡単であり、initWithBase 64 EncodedStringを呼び出し、Base 64で符号化されたNSStringを入力パラメータとして使用するだけである(14-15行).
18-20行では、Base 64 NSDataからNSStringに復元する方法(最初の例の文字列)を示します.
出力は次のように見えます.
Encoded:
aU9TIERldmVsb3BlciBUaXBzIGVuY29kZWQgaW4gQmFzZTY0
Decoded:
iOSDeveloperTipsencodedinBase64
Base 64を使用してNSDataオブジェクトをエンコード
NSDataオブジェクトをBase 64に直接符号化する方法と、NSDataに直接復号(復元)する方法を見てみましょう.
// Create NSData object
NSData *dataTake2 =
[@"iOS Developer Tips" dataUsingEncoding:NSUTF8StringEncoding];
// Convert to Base64 data
NSData *base64Data = [dataTake2 base64EncodedDataWithOptions:0];
NSLog(@"%@", [NSString stringWithUTF8String:[base64Data bytes]]);
// Do something with the data
// ...
// Now convert back from Base64
NSData *nsdataDecoded = [base64Data initWithBase64EncodedData:base64Data options:0];
NSString *str = [[NSString alloc] initWithData:nsdataDecoded encoding:NSUTF8StringEncoding];
NSLog(@"%@", str);
2行目でNSDataテストオブジェクトを作成しました.6行目ではbase 64 EncodedDataWithOptionsメソッドを呼び出し、データをBase 64符号化します.随州NSStringを使用してデータを変換し、後で復元したデータの内容が一致しているかどうかを確認するために表示しました.
このBase 64 NSDataを復号することは、呼び出し方法initWithBase 64 EncodedDataにほかならず、符号化されたNSDataを入力パラメータとする(13行目).もう一度、NSStringを作成してテストしました.
拡張読書
NSData class reference Base 64を使用してNSDataを符号化および復号する方法に関する情報が含まれている.
NSString class reference NSStringでの符号化と復号化の微妙な違いを述べた.
コマンドラインの下で符号化および復号化データをデバッグするとき、私が見つけたこれらの資料は、base 64 OS X terminal utility を記述するMac OS Xドキュメントに役立つかもしれません.