我找不到合适的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字符?
答案 0 :(得分:2)
它打印得像那样,因为所有控制台都使用单声道间隔字体。在框架中的JLabel上尝试它,它应该显示正常。
<强> 编辑: 强>
尝试创建unicode printstream
PrintStream out = new PrintStream(System.out, true, "UTF-8");
然后打印到它。
这是CMD窗口中的输出。
答案 1 :(得分:0)
我忘了将它从
更改为UTF-8格式档案&gt;属性&gt;选择文本文件编码
这将从Eclipse控制台正确打印正确的字符。默认值为cp1252,仅为那些不理解的字符打印?
。