【发布时间】:2020-06-11 21:37:33
【问题描述】:
我必须显示输入字符的 unicode 例如 A -> 65 但是对于像表情符号这样的字符我该怎么办? ??? -> 125814
【问题讨论】:
-
"????".toCodePoints().forEach(System.out::println)或"????".codePointAt(0)或Character.codePointAt("????", 0)
我必须显示输入字符的 unicode 例如 A -> 65 但是对于像表情符号这样的字符我该怎么办? ??? -> 125814
【问题讨论】:
"????".toCodePoints().forEach(System.out::println) 或 "????".codePointAt(0) 或 Character.codePointAt("????", 0)
这是一种输出任何字符的代码点的方法:
import java.io.UnsupportedEncodingException;
public class Test
{
public static int getCodePoint(String s) throws UnsupportedEncodingException
{
byte[] a = s.getBytes("UTF-32BE");
return ((a[1] & 0xFF) << 16) + ((a[2] & 0xFF) << 8) + (a[3] & 0xFF);
}
public static void main(String []args) throws UnsupportedEncodingException
{
System.out.println(getCodePoint("A")); // 65
System.out.println(getCodePoint("?")); // 128514
}
}
【讨论】:
Character.codePointAt() 和 String.codePointAt(),正如对问题的评论中提到的那样。