在Android TextView中打印Unicode字符

4

我正在尝试使用此处列出的表情符号

http://apps.timwhitlock.info/emoji/tables/unicode#block-6a-missing-emoticons

每个图标都有一个与之对应的Unicode字符,例如

U+1F601是“面带露齿而笑”的Unicode字符=

我的问题是如何在TextView中设置这个Unicode字符。

我不能从该值创建一个char,因为它只需要四个十六进制值。

例如,我创建了一个char:

char c = '\u27A1';

如果我将其附加到TextView中,这个C程序可以很好地工作,并且可以正确显示图像。如何创建一个Unicode值为U+1F601的字符-字节UTF-8 \xF0\x9F\x98\x81的char类型?

此外,还有某些具有双值的Unicode字符,例如U+1F1F7 U+1F1FA - 字节UTF-8 \xF0\x9F\x87\xB7\xF0\x9F\x87\xBA。

如何在TextView中显示它们所有?


这个人在那里做了一件不错的工作。[Emojicon] - https://github.com/rockerhieu/emojicon - Rohit Sharma
1个回答

5

UTF-8 \xF0\x9F\x87\xB7\xF0\x9F\x87\xBA 是一种 UTF8 格式,您需要将其转换为 UTF16 格式以适应这些字符。

只需打印 UTF16 格式的字符串:

String c="\uD83D\uDE01";

现在将 c 字符串显示在文本视图中即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接