我对这个问题感到非常愚蠢,但文档和谷歌都没有给我任何爱。
我想在我的iPhone应用程序的源代码中插入字符串文字中的Unicode字符。我知道它的十六进制值。什么是适当的转义序列?就此而言,我忽略了哪些明显的信息来源会告诉我这个?
答案 0 :(得分:63)
示例:
NSString *stuff = @"The Greek letter Beta looks like this: \u03b2, and the emoji for books looks like this: \U0001F4DA";
答案 1 :(得分:10)
如果您不想将其直接放在字符串中,可以使用如下格式说明符:
[string stringByAppendingFormat:@"%C", 0x2665];
答案 2 :(得分:3)
更现代的方法:
我不确定该功能何时添加到该语言中,但截至2015年,至少 Objective-C字符串文字可以包含任何Unicode字符。例如,我标记我的日志行与表情符号,因为他们独特的颜色是我更容易选择它们的方式:
所以,如果你有角色而不仅仅是代码点,并且你想在静态字符串中使用它而不是动态生成它,这是一个很好的方法,因为你立即知道你的角色是什么只是通过观察它来使用。
答案 3 :(得分:1)
适当的转义序列将是
的内容wchar_t * str = L"\x0627";
请参阅此问题:character constant:\000 \xhh
编辑:哦,对不起,我错过了iPhone和Objective-C标签。以上内容适用于通用C / C ++,但我没有使用iPhone开发,因此您的里程可能会有所不同。
答案 4 :(得分:-3)
\
是目标c中的转义字符,在要转义的字母之前使用它,如:
NSString temp = @" hello \"temporary.h\" has been inported";
如果您在textview或logs中打印临时字符串,您会看到"
也被打印,因为我们之前使用了\
这是转义字符