【发布时间】:2011-08-07 02:31:25
【问题描述】:
假设我有MUSICAL SYMBOL G CLEF 符号:** ???? ** 我希望在我的 Objective-C 源文件中包含一个字符串文字。
OS X 字符查看器显示 CLEF 是 UTF8 F0 9D 84 9E 和 Unicode 1D11E(D834+DD1E)。
经过一番折腾,并使用 the ICU UNICODE Demonstration Page,我确实得到了以下代码:
NSString *uni=@"\U0001d11e";
NSString *uni2=[[NSString alloc] initWithUTF8String:"\xF0\x9D\x84\x9E"];
NSString *uni3=@"????";
NSLog(@"unicode: %@ and %@ and %@",uni, uni2, uni3);
我的问题:
- 是否可以简化我处理 UTF-8 文字的方式?这对我来说似乎很笨拙。
-
@"\U0001d11e部分是 UTF-32 吗? - 为什么从 Character Viewer 剪切和粘贴 CLEF 确实有效?我认为Objective-C文件必须是UTF-8?
【问题讨论】:
-
您的第一个解决方案让我很开心。谢谢提问! :D
-
这个问题有 4k 次浏览,但只有 7 次赞成!我确定你不是唯一一个你保存的人:)
-
适用于 NSLog 但不适用于 UILabel。我得到一个“NA”。
标签: objective-c xcode unicode