2012-08-27 56 views
3

大家好,IOS是否支持所有的Unicode emojies?

我有一个关于Unicode characters的问题。我可以在UITextView附加苹果艺术作品Unicode Characters。 像这样: -

self.textView.text = @"\ue00A"; 

这没关系。 但是现在我有很多Unicodes Characters这不是苹果公司的艺术作品。
其中之一是U+1F3C7
现在我试图在UITextView中显示它。

self.textView.text = @"\u1f3c7"; 

然后它显示我的特殊字符,而不是表情。
Unicode Emoji

这是此Unicode的表情符号图标但它显示了我Ἴ7

Apple doesn't support all Unicode Characters ?
How can I add my own emojies in my application ?

让我知道如果我的问题不明确你。

您的帮助将非常感谢!
在此先感谢!

+0

试试这个http://code.google.com/p/emotionlabel/ – Sumanth

+0

@Sumanth - 谢谢! :D我试试! – TheTiger

+0

参见http://stackoverflow.com/questions/9352753/which-unicode-versions-are-supported-in-which-os-x-and-ios-versions – tripleee

回答

7

不是Objective-C在内部使用UTF-16,如Java和C#?

如果是这样,那么U + 1F3C7将不是“\ u1f3c7”,而是替代对“\ uD83C \ uDFC7”。

否则,必须有一些方法来指示较高字符,因为"\u1f3c7"相同"\u1f3c" + "7",这是Ἴ7(资本IOTA与和Psili和奥克西亚,然后7)。

编辑:OP和我之间经过一番讨论后,我们想通了,在Objective C到这样做的方法是一个我知道的C++方式:

"\U0001F3C7" 

\uXXXX用小u和4个十六进制数字适用于4个十六进制数字,\UXXXXXXXX,大写U,8个十六进制数字适用于所有内容,但输入时间较长)。

现在我们的朋友只需要处理字体支持的问题,这是另一个让它看起来像他想要的问题。

+0

感谢您的快速响应。所以我将不得不改变我的字符串在UTF-16?你给这个链接的是MAC。好吧,我尝试了IOS。 – TheTiger

+0

我对目标C一无所知,所以我将自己的答案基于Unicode的知识(它们不是“苹果的Unicode字符”,它们属于我们所有人),并且仅从Java和C#单独转移。如果'“\ uD83C \ uDFC7”'工作,你就会知道你在正确的轨道上。我只是通过用google搜索某个东西来将代码点转换为Objective-C中的UTF-16的链接,但这只是一个“怎么样......”而不是基于我所知道的东西,比如U + 1F3C7在UTF-16中是D83C,后面是DFC7 –

+0

我试过这个 'const char * ch =(char *)@“U + 1F3C7”; NSString * str = [NSString stringWithCString:ch encoding:NSUTF16StringEncoding];'现在当我打印'str'时,它是'貜䔁젇'... :( – TheTiger