2

我找不到合适的 API。我试过这个;

public static void main(String[] args) {
    for (int i = 2309; i < 3000; i++) {
      String hex = Integer.toHexString(i);
      System.out.println(hex + " = " + (char) i);
    }
  }

此代码仅在 Eclipse IDE 中这样打印。

905 = ?
906 = ?
907 = ?
...

如何使用这些十进制和十六进制值来获取 Unicode 字符?

4

2 回答 2

2

它会这样打印,因为所有控制台都使用单间距字体。在框架中的 JLabel 上尝试一下,它应该可以正常显示。

编辑:

尝试创建一个 unicode 打印流

PrintStream out = new PrintStream(System.out, true, "UTF-8");

然后打印到它。

这是 CMD 窗口中的输出。

在此处输入图像描述

于 2013-04-22T07:19:58.803 回答
0

我忘记将其更改为 UTF-8 格式

文件 > 属性 > 选择文本文件编码

这将从 Eclipse 控制台正确打印正确的字符。默认值为 cp1252,它将仅打印?它不理解的那些字符。

于 2013-04-22T07:51:23.237 回答