Der Unicode Codepunkt U + 1F334 steht für ein "Zeichen" außerhalb des Java Char-Bereichs. Java verwendet die UTF-16-Unicode-Codierung mit 16 Bits für ein Zeichen. Und U + 1F334 geht in den 3-Byte-Bereich.
können Sie tun:
int[] codepoints = { 0x1F334 };
String emoji = new String(codepoints, 0, codepoints.length);
Dies wird ein String mit einem Paar von Zeichen ergeben, obwohl das entweichende Format UTF-16 verwendet wird, und nicht etwas Einfaches wie \u1F33\u0004
(falsch).
jedoch, wenn die Schrift nicht, dass Unicode-Zeichen darstellen kann, erhalten Sie eine kleine Box, jetzt mit den sechs Ziffern 01F/334.
Font font = ...
if (!font.canDisplay(0x1F334)) {
s = s.replace(emoji, " :) ");
}
Es ist unwahrscheinlich, dass jeder Browser eine vollständige Unicode-Schriftart zur Verfügung hat. Sie könnten Swings HTML-Funktionalität ausprobieren und ein eingebettetes Bild in einem HTML JTextPane oder ähnlichem verwenden.
Verwenden Sie eine Schriftart, die dieses Zeichen unterstützt? – BackSlash
Ist das, was Sie versuchen, dieses Zeichen anzuzeigen: http://unicode-table.com/en/1F33/, gefolgt von '4'? – Berger
@Berger http://unicode-table.com/de/1F334/ – BackSlash