如何显示5位数的unicode字符,如speaker/u1f50a

All*_*rds 12 java unicode

扬声器图标unicode 1f50a是"其他符号和象形文字"系列中的5位数字,当我尝试显示它时,我得到"a",所以显然我得到1f50(不存在空白),然后是"a".我可以显示任何4位数的unicode字符,但无法找到如何显示较长的字符.我知道平板电脑可以显示它,因为我可以在Unicode地图应用程序中看到它.

        textSound = (TextView)findViewById(R.id.textSound);
    textSound.setText("\u1f50a");
Run Code Online (Sandbox Code Playgroud)

Hen*_*nry 11

这些字符不能直接在Java字符串中表示,因为它每个字符仅使用16位.但是有一种称为"代理对"的逃避机制.例如,字符号1f50a可以由两个16位"字符"D83D和DD0A表示.所以像"\ uD83D\uDD0A"这样的东西可能会起作用(我没试过).它仍然取决于该字符是否可用于使用的字体.

此站点可以帮助进行转换.