【发布时间】:2016-01-22 03:45:55
【问题描述】:
我该怎么做? 我对 Java 和 Android 很陌生,并且遇到了上述问题。 当我将表情符号粘贴到 xml 文件中时,它会显示一个白色方块和另一个“复制”下一个字符的奇怪字符。
知道如何解决这个问题吗?
【问题讨论】:
-
你用的是android studio吗?
我该怎么做? 我对 Java 和 Android 很陌生,并且遇到了上述问题。 当我将表情符号粘贴到 xml 文件中时,它会显示一个白色方块和另一个“复制”下一个字符的奇怪字符。
知道如何解决这个问题吗?
【问题讨论】:
尝试使用这个库 - emoji-java
我知道你想要一种 XML 方式,这就是 Java
可能对你有帮助
示例
String str = "An ?awesome ?string with a few ?emojis!";
String result = EmojiParser.parseToAliases(myString);
System.out.println(myString);
// Prints:
// "An 😀awesome 😃string with a few 😉emojis!"
【讨论】:
您可以将表情符号放在 XML 中,而方块只是编辑器呈现它无法识别的字符的方式,就像所有其他字符一样,您可以通过其 UTF8 值指定字符。
例如,? 的 char 值为 128515,因此您可以使用 😃 来指定它。这与您需要使用 < 在 xml 中指定文字“
但是,在撰写此答案时,在(例如)strings.xml 中使用这些标记作为字符串常量会导致您的应用程序崩溃,并且错误会一直下降到您的 android 应用程序的 JNI 级别(C++代码)。
JNI DETECTED ERROR IN APPLICATION: input is not valid Modified UTF-8: illegal start byte 0xf0
我没有资格说这会在多大程度上限制您在 android 中使用表情符号,但我可以肯定地说您不能将表情符号添加到 android xml 文件中(即不会使您的应用程序崩溃) .
【讨论】: