0

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

2 回答 2

1

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

您的第一种方法虽然包含错误。由于 5733 是一个十六进制数,您应该在它前面加上0x

char[] arr=Character.toChars(0x5733);

一个更简单的方法是:

char c = 0x5733;
System.out.println("Code: " + (int)c + " Character: " + c);
于 2012-08-13T16:56:06.970 回答
0

如果您在 Eclipse 中运行它,您可以显示 UTF-8 字符,如下所示:

  • 单击运行配置...
  • 为此应用程序选择您的特定运行配置
  • 点击常用->编码->其他
  • 选择 UTF-8
于 2012-08-13T16:52:53.620 回答