ユニコードと文字コードの違いがわからなくて困っています。
「文字コード」か「文字コード体系」かで変わりますが、
文字コード体系との比較なら同じものですよ。
もっと正確に言えば文字コード体系の規格は沢山あり、ユニコードは文字コードの実装の一つです。
ASCII, ISO-2022-JP, EUC-JP, Shift_JIS...とまぁ沢山あります。
ユニコード(Unicode)は全世界で一つの「文字コード体系」で全ての文字を書き表すというプロジェクトを指します。
プロジェクトの結果として作られた文字コード体系はUTF-7, UTF-8, UTF-16, UTF-32などがあります。
ユニコードは16進数と聞いたのですが
そのchar型に代入した12345という数値は、内部的に2進数に変換されます。
ですので結局はSystem.out.println('\u3042');と同じことを2行に分けているだけです。
ユニコード以前に全ての文字コードは16進数が基準です。
元々コンピュータの世界には0か1かしかありません。
なのでこの0か1かを大量に使う事で、様々なものを表現するという事を行いました。
詳しくは下記のサイトを見て下さい。
参考サイト: 【5分で覚えるIT基礎の基礎】コンピュータの仕組み---第2回 2進数の世界
詳細は割愛しますが、
1バイトで表現出来る数値の番地(表)に1つずつ文字を当てはめて出来たものが文字コード体系です。
文字コードとは日本特有のコードと考えればいいのでしょうか。
いいえ違います。
質問文のコードには出てきていませんが、何かしらの文字モード体系で行きましょうという取り決めがなされています。
Javaが取り扱う文字コード体系はUTF-16のようですね。
アルファベットや数値、日本語問わず出力される全ての文字が文字コード体系の表により変換されて表示されます。
また文字コード、ユニコードの表を覚える必要性はあるのでしょうか。
ありません。
貴方は12345という数値を使って「あ」を出力するシステムを構築するエンジニアになりたいのですか?
そんなニッチな仕組み何処で使うねん!
ただ、完全に無いという訳ではありません。
文字コード体系を作るエンジニア、文字コード体系から各種OSやプログラミング言語用のライブラリを作るエンジニアが存在するからです。
そういった人間の場合、ある程度の文字ならどの番地にあるかくらいは知っておかないと話になりません。
教養として知っておくと得なケースがありますので、覚えておく事に損はありません。
しかし、有名な文字コード体系というのは、基本的にはどのパソコンやソフトにもライブラリという形で既に提供されています。
普段エンジニアが12345をあに変換したいというケースはまずないと思います。