2016-04-25 3 views

Antwort

0

Ich finde einen Weg: java.lang.Character.toCodePoint (char hoch, char niedrig)

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)); 
+0

Dies ist nur eine komplizierte Art zu tun 'emojiString =" \ uud83d \ ude04 "' – Henry

+0

@Henry Sie haben Recht. Ich habe nur diese zwei verwechselt: String s = "\\ ud83d \\ ude04"; String s = "\ uud83d \ ude04" – JackyWhite

0

Dank @ Henry, finde ich ein leicht emojiString zu bekommen:

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; 
0

Tun Sie so etwas.

konvertieren UTF-16 in UTF-8 `

String text = new String("uD83D\uDE04".getBytes(), StandardCharsets.UTF_8);` 

Erhalten der Codepunkt

int codepoint = text.codePointAt(0); 

wandeln es in Unicode

String yourUnicode="U+"+Integer.toHexString(codepoint)