对不起,我可能措辞很差。这就是我所拥有的
1f1e8-1f1f3
这代表一个标志表情符号。我可以成功地将正常的unicode值转换为它的表情符号:
new String(Character.toChars(Integer.parseInt(e.unified.split("-").head, 16)))
但对于有破折号的表情符号我不能。我不确定从哪里开始。
如果需要,我很乐意提供更多信息。老实说,我没有对unicode值的词汇或理解,以正确表达我的问题。
我需要做的是:获取unicode值(例如上面的值)并将其转换为字符或字符串。而不是unicode值,我想要那个值代表什么......我希望这会有所帮助。
答案 0 :(得分:1)
标志表情符号由两个 regional indicator symbols组成。这样做是为了避免政治争论:由字体设计师选择他们想要支持的国家标志,Unicode本身是中立的。
每个区域指标符号必须以Java形式呈现为两个代理人。
所以你只需要从几个部分创建你的字符串:
new String(e.unified.split("-").flatMap{ codepoint =>
Character.toChars(Integer.parseInt(codepoint, 16))
})