假设我有一个符号MUSICAL SYMBOL G CLEF
:** **,我希望在我的Objective-C源文件中用字符串字面量表示它。
OS X字符查看器说CLEF是UTF8 F0 9D 84 9E
和Unicode1D11E(D834+DD1E)
。
经过一些尝试和使用ICU UNICODE演示页面,我确实让以下代码能够工作:
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格式的?