eclipse如何在java中获取字符的Unicode
我使用eclipse
作为IDE
,当我试图打印阿拉伯语字符时,我得到了???????
,所以我想打印Unicode
如果是阿拉伯语字符
String displayChar(char c) {
if (c < '\u0010') {
return "0x0" + Integer.toHexString(c);
} else if (c < '\u0020' || c >= '\u007f') {
return "0x" + Integer.toHexString(c);
} else {
return c+"";
}
}
例如:
displayChar('م'); // output is ?
# 1 楼答案
确保Java应用程序以及版本系统的文件编码支持Unicode。例如,尝试将文件保存为UTF-8。否则,您在编辑器窗格中看到的编码可能会丢失。为了获得最大的兼容性,应该使用源代码中的
\u0645
代码点对角色进行编码显示字符时,请确保控制台支持Unicode,并且它使用的字体也支持该字符
[编辑]
哦,我对你的方法也有一个小的更新:
# 2 楼答案
在Java中有很多方法可以获取Unicode字符。例如,如果您有一个正确编码为UTF-8的文件,那么这将得到以下字符:
你最新的问题似乎是说,你真正的问题是显示字符,而不是“获取”字符。您尚未正确解释如何输出字符或在哪里输出字符,但我猜您出现问题的原因如下:
后者是最有可能的解释,但正确的诊断需要更多关于创建输出流/写入器和写入方式的信息。(提示:添加到问题中的代码不会输出任何内容。它只是将一个字符转换为Java字符串。)
# 3 楼答案
Java中的字符只是数值——因此,如果
ch
是字符,则可以执行int i = ch;
,然后打印i
的值。(这忽略了代码点与字符之间的复杂性——但我相信这对于阿拉伯语字母来说是好的。)