2012-08-27 53 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