iPhoneアプリを作っているときに、文字列をUTF-16に変換してから復元すると文字化けするという困った現象にぶちあたりました。 下記のコードを実行します。 NSString *str = @"はろーわーるど"; // UTF-16のchar配列を取得 const char *chars = [str cStringUsingEncoding:NSUTF16StringEncoding]; // 得られたchar配列からNSStringを作成 NSString *str2 = [NSString stringWithCString:chars encoding:NSUTF16StringEncoding]; // 出力 NSLog(@"%@", str2); 結果は次の通りです。 漰贰ﰰ輰ﰰ謰椰 見事、文字化けしました。 原因調査 (1) - エンディアンを指定する Objective-