【发布时间】:2019-12-07 04:32:37
【问题描述】:
我们正在尝试让我们的应用程序接受表情符号。我们正在尝试将表情符号限制为来自this list 的表情符号。
所以,我正在尝试读取表情符号的 unicode 值(例如,U+1F600 表示???
有人可以帮助我如何读取表情符号的 unicode 值吗?或我可以实现此验证的任何其他方式?使用编码值等?
}
String actualEmojiString = "????????";
for(int i=0; i< actualEmojiString.codePointCount(0, actualEmojiString.length()); i++) {
int codePoint = actualEmojiString.charAt(i);
if(Character.isSurrogate(actualEmojiString.charAt(i))) {
codePoint = Character.toCodePoint(actualEmojiString.charAt(i), actualEmojiString.charAt(i));
}
System.out.println( "HexCode value for emoji: [" + actualEmojiString.charAt(i) + "] is [" +"U+" + Integer.toHexString(codePoint | 0x10000).substring(0) +"]"
+ "["+"\\u" + Integer.toHexString(codePoint | 0x10000).substring(1) + "]");
输出:
HexCode value for emoji: [?] is [U+1f03d][\uf03d]
HexCode value for emoji: [?] is [U+190200][\u90200]
【问题讨论】:
-
Java 使用 UTF16 字符串。相应地计划。另外,请在发布后查看您的问题,以便您可以单击“编辑”并修复您犯的任何格式错误:这根本不是一个格式正确的问题。