2011-07-19 12 views
10

NSStringNSDataに変換しようとしているときに問題が発生しています。 暗号化された文字列をデータベースに格納しようとしています。そのために私はAESアルゴリズムを使用しています。今、私がやっているものを私はNSDataを暗号化されますされ、私は、以下のものを使用してNSStringにこれを変換しています:NSStringをNSDataに変換する(逆の場合)

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

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

NSUTF8StringEncodingを使用している間NSDataが変換されていないのはなぜ。 NSDataNSStringを変換しながらNSASCIIStringEncodingが動作していないのはなぜ

// Not working 
[strTemp dataUsingEncoding:NSASCIIStringEncoding]; 

// Working 
[strTemp dataUsingEncoding:NSUTF8StringEncoding]; 

を:私が使用してNSASCIIStringEncodingで得た文字列を変換しようとするのと同じ方法? NSData

答えて

27

NSString

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

NSData

NSString* newStr = [[NSString alloc] initWithData:theData 
             encoding:NSUTF8StringEncoding]; 
+0

これは私の最初のコード回転で何をしているのですか?無限の文字列を取得しています –

+0

もっとコードを提供できますか? – Maulik

+0

コードはここで合計です...私は '[strTemp dataUsingEncoding:NSUTF8StringEncoding]'を使ってデータを変換している文字列を持っていますが、 '[strTemp dataUsingEncoding:NSASCIIStringEncoding]'は同様に動作していません。[strTemp dataUsingEncoding :[[NSString alloc] initWithData:encData encoding:NSASCIIStringEncoding] 'が動作していますが、' [[NSString alloc] initWithData:encData encoding:NSUTF8StringEncoding] 'は動作していません。だから私の変換が発生するたびに私は同じ結果の保証を持たない異なるエンコーディングを使用しています。 –

2

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

関連する問題