我有以下代码:
JButton Get_Unicode_Button(String unicodeText)
{
JButton button=new JButton("\\u"+unicodeText);
// JButton button=new JButton("\u2605");
// JButton button=new JButton("\u267b");
// JButton button=new JButton("\u1F602"); // ?
return button;
}
我想获得一个显示unicode图像的按钮,我有一个unicode列表,例如:“ 2605”,“ 267b”,“ 1F602”,但是看来我在上面实现它的方式不起作用,这是正确的怎么办呢?
尤其是第三行“ \ u1F602”,即使我像上面这样硬编码,也无法正常工作,为什么?
好,我知道了 :
JButton Get_Unicode_Button(String unicodeText)
{
int emojiCodePoint=Integer.parseInt(unicodeText,16);
String emojiAsString=new String(Character.toChars(emojiCodePoint));
JButton button=new JButton(emojiAsString);
return button;
}
为什么将String转换为字节然后再次转换为String?一旦完成操作
new String(Character.toChars(emojiCodePoint))
,您就已经拥有正确的String了。没有任何理由涉及字节。