2016-11-21 52 views
0

考慮下面的表情符號,從http://unicodey.com/emoji-data/table.htm將兩個代碼表情符號放入字符串中?

名稱:regional indicator symbol letters ma

Unicode值:U+1F1F2 U+1F1E6

什麼應該它的代碼點值是什麼?

實施例:

感嘆號具有33,即0×21的碼點值至基部10 = 33

scala> "\u0021" 
res11: String = ! 

scala> "\u0021".codePoints.toArray 
res12: Array[Int] = Array(33) 

因此,在這種情況下,我可以簡單地把\u0021爲一個字符串。但是,如何創建String以包含regional indicator symbol letters ma

回答

4

這裏是你如何構建字符串:

scala> val points = Array(0x1F1F2, 0x1F1E6) 
points: Array[Int] = Array(127474, 127462) 

scala> val string = new String(points, 0, points.length) 
string: String = 

編輯:下面的部分是我原來的答案,我希望會有所幫助的人

我想你咯誤會這個「表情符號」是如何工作的。如果比較:flag-ma:您有興趣到:flag-mc:

enter image description here

你會發現,編碼,它的第一部分是相同的U+1F1F2,對應於字母「m」。這意味着你實際上沒有處理一個單獨的表情符號,它實際上是兩個獨立的表情符號,當它們以特定順序時,它們被顯示爲給定的標誌。

作爲一個例子,這裏是如何的GB的表情符號(U+1F1EC U+1F1E7)是在某些平臺上呈現(注意它並不總是一個標誌):enter image description here

+0

但是爲什麼's'有4個代碼點? 'scala> val s =「\ u1f1f2 \ u1f1e6」| scala> s.codePoints.toArray'返回 'res45:Array [Int] = Array(7967,50,7966,54)' –

相關問題