Java Web サービスから iOS アプリに返される暗号化された文字列があります。iOS 側で NSData オブジェクトに復号化できますが、NSString に変換しようとすると、常に null 値が返されます。次のコマンドを試しました:
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]];
復号化されたメッセージには、「This is test message:」と表示されます。これらのコマンドのうち、近いところにあるのは msg3 だけですが、それでも出力が文字化けし、"This is test mes¯5[Lqë÷£©ìÇt1" のようになります。
この変換が失敗する理由を誰かに説明できますか?