我正在学习java,我发现java char范围是0-65536,java使用Unicode来表示字符。所以,我运行以下代码来查看所有字符是什么:
class A{
public static void main(String args[]){
char x=0;
for(int i=0;i<65536;i++){
x++;
System.out.println(i + "th character is: " + x);
}
}
}
我发现的是: -
前126个字符与ASCII字符相同。
在第126个字符之后它只显示'?'标记
输出: -
...
第127个字符是:?
第128个字符是:?
第129个字符是:?
第130个字符是:?
第131个字符是:?
第132个字符是:?
第133个字符是:?
...
第65534个字符是:?
我的问题是它为何显示'?'标记而不是Unicode字符。
答案 0 :(得分:-1)
使用以下行检查文件编码,看看会出现什么。如果不是&#39; UTF-8&#39;然后正确设置它。你仍然不会看到所有的炭印。因此,您需要查看相应的文件编码。
System.out.println(System.getProperty("file.encoding"));
System.setProperty("file.encoding","UTF-8");