[英]How to convert a bytes string to unicode value to display emoji in Java?
[英]How to read/get unicode value for an emoji in Java
我們正在嘗試讓我們的應用程序接受表情符號。 我們正在嘗試將表情符號限制為該列表中的表情符號。
因此,我正在嘗試讀取表情符號的unicode值(例如,U的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]
您通過混合代碼點和字符使代碼過於復雜。 而是使用String.codePoints()
方法:
"😀😂".codePoints().mapToObj(Integer::toHexString).forEach(System.out::println);
將unicode值打印為十六進制:
1f600
1f602
但是,由於Java支持Unicode String
文字,因此可能根本不需要。 要檢查文本是否包含表情符號,您可以執行以下操作:
"😀😂".contains("😂");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.