UTF8エンコーディングで奇妙な動作があります:
例:シミュレーターで実行する場合
NSString *uni = @"\U0001d11e";
NSString *uni2 = [[NSString alloc] initWithUTF8String:"\xF0\x9D\x84\x9E"];
NSString *uni3 = @"";
NSLog(@"unicode: %@ and %@ and %@",uni, uni2, uni3);
私は期待される結果を得ました:
unicode: and and
しかし、実際のデバイスに実行したときの出力は次のとおりです。
unicode: ùÑû and ùÑû and ùÑû
理由がわかりません。それはコンパイルの回避策ですか、それとも私が理解できなかったことですか? @"" コンストラクトは ASCII 文字しか使用できないことを知っています。しかし、なぜこれがシミュレーターで動作しているのでしょうか? 実際のデバイスで動作させる方法についてのアイデアはありますか? どうも