AS/400に限らず、どんなコンピューターの世界では、情報を正しく伝えるという基礎中の基礎と言える目的を実現するために、様々な仕組みが考え出されました。
その中でも、文字コードは大きな要素となっていますので、これを正しく理解しておく必要があると思います。
IBMのAS/400や大型のメインフレームでは、文字コードは、EBCDIC(エビシディック)と呼ばれる文字コード体系で決まっています。一方で、Windowsの世界では、文字コードはShift-JIS(シフトジス)や、Unicode(ユニコード)で、文字コードが決まっています。
この両者の違いが、文字化けの原因と言ってもよいのではないでしょうか?
そもそもコンピューターの世界は、英数文字だけで始まったわけで、そのため文字コードもSBCS(Single Byte Character Set)だけでした。しかもアルファベットも大文字だけでした。
そこへ、少しでも日本語を表現するために、カタカナだったら文字数が限られていてSBCSの範囲に収まると考えられて、空いている文字コードにカタカナが当てはめられました。
しかし、同時にその文字コードにアルファベットの小文字も当てはめられたのが、混乱の原因になってしまったと言えます。
これでは、カタカナとアルファベットの小文字は、共存できないということになります。
下の左側の表は、小文字を追加しただけの13219というIDの古い文字セット(ただし、漢字やひらがなのためのDBCS(Double Byte Character Set)も含んでいます)です。例えば"A"の文字コードは"C1"、"9"のコードは"F9"と読みます。
右側の表は、左の表の空いている文字コードに、カタカナを当てはめた"5035"という文字セットです。これによって半角カタカナと小文字は共存できるようになります。
そして、元々小文字を持ったセットに対してカタカナを追加したので「英小文字拡張」という呼び方をします。これの逆(カタカナが先で、後から空いた場所に小文字を追加した文字セットを「カナ拡張」と呼び、IDは"5026"になります。)
次回へ続く
英語小文字を追加したCCSID13219 |
空いた場所に半角カタカナを追加したCCSID5035 |