Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将UTF代码点字符串转换为其各自的值_Java_Encoding_Utf 8_Character Encoding - Fatal编程技术网

Java 将UTF代码点字符串转换为其各自的值

Java 将UTF代码点字符串转换为其各自的值,java,encoding,utf-8,character-encoding,Java,Encoding,Utf 8,Character Encoding,我有以下字符串\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: " + c

我有以下字符串\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);

如果在Eclipse中运行此功能,则可以按如下方式显示UTF-8字符:

  • 单击运行配置
  • 选择此应用程序的特定运行配置
  • 单击公共->编码->其他
  • 选择UTF-8

由于第二种方法适用于我,因此显示输出的终端似乎有问题

但是,您的第一种方法包含一个错误。因为5733是一个十六进制数,所以应该在它前面加上
0x

char[] arr=Character.toChars(0x5733);
更简单的方法是:

char c = 0x5733;
System.out.println("Code: " + (int)c + " Character: " + c);