我有一个由 Java Web 服务返回到我的 iOS 应用程序的加密字符串。我能够将它解密为 iOS 端的 NSData 对象,但是当我尝试将其转换为 NSString 时,我总是会返回一个空值。我尝试了以下命令:
NSString *msg1 = [[NSString alloc] initWithData:messageData encoding:NSUTF8StringEncoding];
NSString *msg2 = [NSString stringWithUTF8String:[messageData bytes]];
NSString *msg3 = [[NSString alloc] initWithData:messageData encoding:NSASCIIStringEncoding];
NSString *msg4 = [[NSString alloc] initWithUTF8String:[messageData bytes]];
解密的消息应该说“这是测试消息:”。这些命令中唯一接近的一个是 msg3,但即使这样也会使输出出现乱码,看起来像“This is test mes¯5[Lqë÷£©ìÇt1”
谁能向我解释为什么这种转换失败了?