将NSString转换为NSData,反之亦然

Kap*_*isa 11 iphone data-conversion nsstring nsdata

我有一个问题,而试图转换NSStringNSData,反之亦然.我试图将加密的字符串存储到我的数据库.为此,我使用AES算法.现在我正在做的是我加密NSData,我正在将其转换为NSString使用以下内容:

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

// Working
NSString *strTemp = [[NSString alloc] initWithData:encData encoding:NSASCIIStringEncoding];
Run Code Online (Sandbox Code Playgroud)

为什么NSData在使用时不进行转换NSUTF8StringEncoding.当我尝试NSASCIIStringEncoding使用以下方法转换字符串时的方式相同:

// Not working
[strTemp dataUsingEncoding:NSASCIIStringEncoding];

// Working
[strTemp dataUsingEncoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)

为什么NSASCIIStringEncoding在转换工作不NSStringNSData

Mau*_*lik 28

NSStringNSData:

NSString* str= @"teststring";
NSData* data=[str dataUsingEncoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)

NSDataNSString:

NSString* newStr = [[NSString alloc] initWithData:theData
                                         encoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)