Ad esempio, nel set di caratteri Emoji, U+1F601
è il valore unicode per "VISO DI GRINNING CON OCCHI SORRIDENTI" e \xF0\x9F\x98\x81
è il valore di byte UTF-8 per questo carattere.Come convertire UTF-8 in Unicode in Java?
\xE2\x9D\xA4
è per il cuore nero pesante e l'unicode è U+2764
.
Quindi la mia domanda è, se ho un array di byte con valore (0xF0, 0x9F, 0x98, 0x81, 0xE2, 0x9D, 0xA4)
, quindi come posso convertirlo in valore Unicode?
Per il risultato sopra, quello che voglio è un array di stringhe con valore "1F601"
e "2764"
.
So che posso scrivere un metodo complesso per fare questo lavoro, ma spero che ci sia già una libreria per fare questo lavoro.
È possibile fare riferimento questo [domanda] (http: // stackoverflow.com/questions/4049740/how-to-convert-utf8-to-unicode).questa domanda ha già una risposta. –
Hai solo bisogno di una stringa Unicode o hai effettivamente bisogno del valore 1F601? Perché per quest'ultimo è necessario ['String.codePointAt()'] (http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#codePointAt (int)) * inoltre * producendo il 'String' come spiegato nelle risposte. –
@JoachimSauer Sì, questo è quello che voglio. Grazie per aver indicato il metodo codePointAt. Qui ho aggiornato la mia domanda per chiarire. Puoi dare un'altra occhiata? Grazie. – XWang