12

に変換しようとしているときに問題が発生NSStringNSData、その逆も同様です。暗号化された文字列をデータベースに保存しようとしています。そのために、AES アルゴリズムを使用しています。今私がやっていることは、暗号化されNSDataており、これを次のように変換しNSStringています:

// Not woking
NSString *strTemp = [[NSString alloc] initWithData:encData encoding:NSUTF8StringEncoding]; 

// Working
NSString *strTemp = [[NSString alloc] initWithData:encData encoding:NSASCIIStringEncoding];

NSDataを使用中に変換しないのはなぜですかNSUTF8StringEncoding。次を使用して取得した文字列を変換しようとするときと同じ方法NSASCIIStringEncoding:

// Not working
[strTemp dataUsingEncoding:NSASCIIStringEncoding];

// Working
[strTemp dataUsingEncoding:NSUTF8StringEncoding];

NSASCIIStringEncodingの変換中に が機能しないのはなぜですか?NSStringNSData

4

2 に答える 2

29

NSStringNSData:

NSString* str= @"teststring";
NSData* data=[str dataUsingEncoding:NSUTF8StringEncoding];

NSDataNSString:

NSString* newStr = [[NSString alloc] initWithData:theData
                                         encoding:NSUTF8StringEncoding];
于 2011-07-19T10:33:23.673 に答える
2

文字列内の文字を一致させる必要があることNSASCIIStringEncodingに注意してください。NSUTF8StringEncoding

于 2011-09-15T21:59:08.320 に答える