CUIアプリを「Eclipse」上で実行して、日本語の文字を入力すると、Webブラウザのように文字化けすることがあります。
コンピュータの世界では、文字は数字で表されます。英語では1文字は1byte(256=0~255)の数字で表されます。日本語(全角文字)では、1文字は2byte(256×256=0~65535)以上の数字で表されます。
これらの数字は、特定の文字に対応するようになっています。
文字 | c | a | t |
---|---|---|---|
10進数 | 99 | 97 | 116 |
16進数 | 63 | 61 | 74 |
文字 | 猫 | |
---|---|---|
10進数 | 148 | 76 |
16進数 | 94 | 4C |
この数字と文字の対応は、日本語ではSJIS、UTF-8、EUCなどいくつかの種類があります。この対応形式のことを「文字コード」と呼びます。この文字コードの対応が間違っていると、文字が正しく表示されず「文字化け」と言われる現象を引き起こします。
文字化けは、「Eclipse」の文字コードの設定と、コンソールから入力される文字の文字コードが違っている時に発生します。
もしWindowsマシンで文字化けが発生したら、以下のように設定を変更することで、文字化けを解決できます。
こういった文字化けは、CUIアプリを作成した時の問題です。次回で説明するGUIアプリでは気にする必要はありません。GUIアプリでは、表示されるウィンドウからの入力は、Java側で適切な形に処理してから受け入れてくれます。
※ 2015年8月7日の「Eclipse 4.5 Mars」で実行したところ、文字化けは発生していなかったので、あまり気にする必要はないと思います。知識としてだけ知っておけばよいでしょう。