2014-07-14 54 views
-1

對不起,我可能在這個問題上寫得很差。這是我擁有的如何將一個unicode值轉換爲它的表示形式?

1f1e8-1f1f3 

這表示一個標誌表情符號。我可以成功地將普通的Unicode值到它的表情符號與此:

new String(Character.toChars(Integer.parseInt(e.unified.split("-").head, 16))) 

但對於那些有破折號我不能表情符號。我不確定該從哪裏出發。

如果需要,我會很樂意提供更多信息。我真的沒有unicode值的詞彙或理解來正確地表達我的問題。

我需要做的是:取一個unicode值(例如上面的值)並將其轉換爲字符或字符串。而不是unicode的值,我想要那個值代表什麼...我希望這有點幫助。

+1

什麼類的類型'e'? – Kon

+0

e保存表情符號的信息。 e.unified正在將unicode的價值拉出該類。所以e.unified將是1f1e8-1f1f3。正如你所看到的,我只是將該字符串的第一部分放到短劃線上。這是行不通的。 – user2767260

回答

1

國旗emojis由兩個regional indicator symbols。這樣做是爲了避免政治爭論:字體設計師需要選擇他們想要支持的國家標誌,而Unicode本身是中性的。

每個區域指標符號都必須以Java的形式作爲兩個代理來呈現。

所以你只需要從幾個部分創建的字符串:

new String(e.unified.split("-").flatMap{ codepoint => 
    Character.toChars(Integer.parseInt(codepoint, 16)) 
}) 
+0

這正是我所期待的。謝謝! – user2767260

相關問題