Como converter UTF-8 para unicode em Java?

Por exemplo, no conjunto Emoji Char,U+1F601 é o valor unicode para "ROSTAR ROSTO COM OLHOS SORRIDOS", e\xF0\x9F\x98\x81 é o valor dos bytes UTF-8 para este caractere.

\xE2\x9D\xA4 é para coração negro pesado, e o unicode éU+2764.

Então, minha pergunta é, se eu tenho uma matriz de bytes com valor(0xF0, 0x9F, 0x98, 0x81, 0xE2, 0x9D, 0xA4), como posso convertê-lo em valor Unicode?

Para o resultado acima, o que eu quero é um array String com valor"1F601" e"2764".

Eu sei que posso escrever um método complexo para fazer esse trabalho, mas espero que já exista uma biblioteca para fazer esse trabalho.

questionAnswers(4)

yourAnswerToTheQuestion