2017-02-08 6 views
1

私はJavaを学んでおり、Java文字の範囲は0-65536であり、javaはUnicodeを使って文字を表現することが分かりました。だから、私はすべての文字が何であるかを確認するために次のコードを実行します。私が見つけたものなぜ私は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番目の文字の後に、「?」が表示されます。マーク。

出力: -

...
127番目の文字は次のようになりますか?
128番目の文字は:?
129番目の文字は:?
130番目の文字は:?
131番目の文字は:?
132番目の文字は:?
第133位は?
...
65534文字は次のとおりです。

私の質問はなぜ「? Unicode文字の代わりにマークを使用します。

+1

IDは表示されません。 – XtremeBaumer

+0

これを実行していますか? IDEで?コマンドラインから?どのオペレーティングシステムですか?すべての文字*が印刷可能であるわけではないことに注意してください。 –

+4

コンソールのエンコーディングが正しく設定されていない – Reimeus

答えて

-1

ファイルのエンコードを次の行で確認し、何が表示されるかを確認してください。 'UTF-8'でなければ正しく設定してください。まだあなたは、すべての文字が印刷されているのを見ていません。そのため、ファイルのエンコーディングをどのファイルに設定するかを確認する必要があります。

System.out.println(System.getProperty("file.encoding")); 
System.setProperty("file.encoding","UTF-8"); 
関連する問題