Na przykład w zestawie znaków Emoji, U+1F601
jest wartością Unicode dla "GRINNING FACE WITH SMILING EYES", a \xF0\x9F\x98\x81
jest wartością bajtów UTF-8 dla tego znaku.Jak przekonwertować kodowanie UTF-8 do Unicode w Javie?
\xE2\x9D\xA4
jest dla ciężkiego czarnego serca, a kod Unicode to U+2764
.
Moje pytanie brzmi: jeśli mam tablicę bajtów o wartości (0xF0, 0x9F, 0x98, 0x81, 0xE2, 0x9D, 0xA4)
, to w jaki sposób mogę ją przekonwertować na wartość Unicode?
Dla powyższego wyniku potrzebuję tablicy z wartościami "1F601"
i "2764"
.
Wiem, że mogę napisać skomplikowaną metodę wykonania tej pracy, ale mam nadzieję, że istnieje już biblioteka do wykonania tej pracy.
Można odnieść to [Pytanie] (http: // stackoverflow.com/questions/4049740/how-to-convert-utf8-to-unicode).to pytanie już zostało udzielone. –
Czy potrzebujesz tylko ciąg Unicode lub czy rzeczywiście potrzebujesz wartości 1F601? Ponieważ do tego ostatniego będziesz potrzebować ['String.codePointAt()'] (http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#codePointAt (int)) * dodatkowo * wytwarzanie "ciągu", jak wyjaśniono w odpowiedziach. –
@JoachimSauer Tak, tego właśnie chcę. Dzięki za wskazanie metody codePointAt. Tutaj zaktualizowałem moje pytanie, aby było jasne. Czy możesz znowu spojrzeć? Dzięki. – XWang