我对 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 字符。但为什么这是在模拟器上工作?你知道如何让它在真实设备上运行吗?谢谢