У меня есть следующий код для преобразования юникода в байты, он работает:
byte[] emojiBytes = new byte[]{(byte)0xF0,(byte)0x9F,(byte)0x98,(byte)0x81};
String emojiAsString = new String(emojiBytes,Charset.forName("UTF-8"));
// JButton button = new JButton("<html>" + emojiAsString + "</html>");
JButton button = new JButton(emojiAsString);
Но что, если я знаю только юникод, подобный этому: 1F601
, 1F603
, я хочу преобразовать символы на этой странице: https://apps.timwhitlock.info/emoji/tables/unicode
Учитывая строку типа 1F601
, как мне преобразовать ее в \xF0\x9F\x98\x81
, затем в new byte[]{(byte)0xF0,(byte)0x9F,(byte)0x98,(byte)0x81}
?
Итак, для упрощения мой код будет выглядеть так:
JButton getButton(String unicodeText)
{
JButton aButton= // how to convert ???
return aButton;
}
Тогда я называю это так: JButton myButton=getButton("1F601");