打印特定范围内的所有Unicode字符

时间:2013-04-22 07:15:55

标签: java eclipse unicode

我找不到合适的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字符?

2 个答案:

答案 0 :(得分:2)

它打印得像那样,因为所有控制台都使用单声道间隔字体。在框架中的JLabel上尝试它,它应该显示正常。

<强> 编辑:

尝试创建unicode printstream

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

然后打印到它。

这是CMD窗口中的输出。

enter image description here

答案 1 :(得分:0)

我忘了将它从

更改为UTF-8格式
  

档案&gt;属性&gt;选择文本文件编码

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