我可以通过这种方式how set emoji by unicode in android textview在文本视图中显示表情符号,但是如何将类似"uD83D\uDE04“的内容转换为代码点0x1F604("uD83D\uDE04”表示0x1F604)?

发布于 2017-04-24 19:05:57
做这样的事情。
将UTF-16转换为UTF-8
String text = new String("uD83D\uDE04".getBytes(), StandardCharsets.UTF_8);获取代码点
int codepoint = text.codePointAt(0);将其转换为Unicode
String yourUnicode="U+"+Integer.toHexString(codepoint)发布于 2016-04-26 10:21:13
我找到一个way:java.lang.Character.toCodePoint(字符高,字符低)
int ss1 = Integer.parseInt("d83d", 16);
int ss2 = Integer.parseInt("de04", 16);
char chars = Character.toChars(ss1)[0];
char chars2 = Character.toChars(ss2)[0];
int codepoint = Character.toCodePoint(chars, chars2);
String emojiString = new String(Character.toChars(codepoint));发布于 2016-04-26 14:45:49
多亏了@Henry,我找到了一个很容易获得emojiString的方法:
String ss1 = "d83d";
String ss2 = "de04";
int in1 = Integer.parseInt(ss1, 16);
int in2 = Integer.parseInt(ss2, 16);
String s1 = Character.toString((char)in1);// http://stackoverflow.com/questions/5585919/creating-unicode-character-from-its-number
String s2 = Character.toString((char)in2);
String emojiString = s1+s2;https://stackoverflow.com/questions/36835966
复制相似问题