NSString
をNSData
に、またはその逆に変換しようとしているときに問題が発生しました。暗号化された文字列をデータベースに保存しようとしています。そのために私はAESアルゴリズムを使用しています。今私がしていることは、暗号化されたNSData
を取得し、以下を使用してこれをNSString
に変換しています。
// Not woking
NSString *strTemp = [[NSString alloc] initWithData:encData encoding:NSUTF8StringEncoding];
// Working
NSString *strTemp = [[NSString alloc] initWithData:encData encoding:NSASCIIStringEncoding];
NSUTF8StringEncoding
の使用中にNSData
が変換されない理由。 NSASCIIStringEncoding
で取得した文字列を次のように変換しようとした場合も同じです。
// Not working
[strTemp dataUsingEncoding:NSASCIIStringEncoding];
// Working
[strTemp dataUsingEncoding:NSUTF8StringEncoding];
NSASCIIStringEncoding
をNSString
に変換しているときに、NSData
が機能しないのはなぜですか?
NSString
からNSData
:
NSString* str= @"teststring";
NSData* data=[str dataUsingEncoding:NSUTF8StringEncoding];
NSData
からNSString
:
NSString* newStr = [[NSString alloc] initWithData:theData
encoding:NSUTF8StringEncoding];
NSASCIIStringEncoding
とNSUTF8StringEncoding
文字列内の文字と一致する必要があります。