12

我在尝试转换为时遇到问题,NSString反之亦然NSData。我正在尝试将加密字符串存储到我的数据库中。为此,我正在使用 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

请注意NSASCIIStringEncodingNSUTF8StringEncoding需要匹配字符串中的字符。

于 2011-09-15T21:59:08.320 回答