2017-02-08 2 views
1

Я изучаю java, и я узнал, что в java char варьируется от 0-65536, а java использует Unicode для представления символов. Таким образом, я запускаю следующий код, чтобы увидеть, что все символы:Почему я не вижу символы Unicode в Java

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-го символа он просто показывает '?' отметка.

Выход: -

...
сто двадцать седьмой символ:
128-й персонаж:?
129-й персонаж:?
130-й символ:?
131-й персонаж:?
132-й персонаж:?
133-й символ:?
...
65534th знак:?

Мой вопрос: почему он показывает '?' вместо символов Unicode.

+1

ID говорит, что они просто не могут быть отображены – XtremeBaumer

+0

Ну, как вы это используете? В среде IDE? Из командной строки? Какая операционная система? Обратите внимание, что не каждый символ * * печатается. –

+4

Кодировка вашей консоли неверно установлена ​​ – Reimeus

ответ

-1

Проверьте кодировку своего файла на следующую строку и посмотрите, что происходит. Если не «UTF-8», установите его правильно. Тем не менее, вы не увидите все напечатанные символы. Поэтому вам нужно посмотреть, какой из них вы хотите настроить кодировку файла.

System.out.println(System.getProperty("file.encoding")); 
System.setProperty("file.encoding","UTF-8"); 
Смежные вопросы