我有以下字符串\ u5733。我需要将其转换为各自的UTF值。我试着用以下两种方式做到这一点,但我最终得到了“?”作为输出。 UTF代码点适用于中文字符。非常感谢。
char[] arr=Character.toChars(5733);
System.out.println(new String(arr));
String code = "5733";
char c = (char)Integer.parseInt(code, 16);
System.out.println("Code: " + code + " Character: " + c);
答案 0 :(得分:1)
由于您的第二种方法对我有用,您的输出似乎有问题。
您的第一种方法虽然包含错误。由于5733是十六进制数,因此您应在其前面添加0x
:
char[] arr=Character.toChars(0x5733);
更简单的方法是:
char c = 0x5733;
System.out.println("Code: " + (int)c + " Character: " + c);
答案 1 :(得分:0)
如果您在Eclipse中运行它,则可以按如下方式显示UTF-8字符: