15

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

        textSound = (TextView)findViewById(R.id.textSound);
    textSound.setText("\u1f50a");
4

2 回答 2

17

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

该站点可以帮助进行转换。

于 2013-10-24T05:40:19.850 回答
1

Java不支持\U0001F50A格式吗?( \U

于 2019-01-14T15:35:49.310 回答