为什么我在Java

时间:2017-02-08 14:10:37

标签: java unicode

我正在学习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);
        }
    }
}

我发现的是: -

  1. 前126个字符与ASCII字符相同。

  2. 在第126个字符之后它只显示'?'标记

  3. 输出: -

      

    ...
      第127个字符是:?
      第128个字符是:?
      第129个字符是:?
      第130个字符是:?
      第131个字符是:?
      第132个字符是:?
      第133个字符是:?
      ...
      第65534个字符是:?

    我的问题是它为何显示'?'标记而不是Unicode字符。

1 个答案:

答案 0 :(得分:-1)

使用以下行检查文件编码,看看会出现什么。如果不是&#39; UTF-8&#39;然后正确设置它。你仍然不会看到所有的炭印。因此,您需要查看相应的文件编码。

System.out.println(System.getProperty("file.encoding"));
System.setProperty("file.encoding","UTF-8");