質問: jis x 0201の7ビットと8ビットの区別 (1)jis x 0201:1997ではアルファベットには7ビットの文字コードが与えられているが8ビットの文字コードは与えられていない、と思うのですが、それで正しいでしょうか。 (2)jis x 0201:1997の図5ではアルファベットの上の方「7ビット符号」という欄と「8ビット符号」という欄が表示されています。もし上記(1)の御回答がyesであればここには「8ビット符号」の欄は不要だと思うのですが、なぜ「8ビット符号」の欄が表示されているのでしょうか。
回答: > (1)jis x 0201:1997ではアルファベットには7ビットの文字コードが > 与えられているが8ビットの文字コードは与えられていない、 > と思うのですが、それで正しいでしょうか。 どうしてそのように思われるのかさっぱり理解できません. jis x 0201 規格書の図5~6,表2には, 7ビット符号と8ビット符号の両方が併記されています. 8ビット符号が書かれているのに「与えられていない」と いうのは何を意味しているのでしょうか? またそれならば,7ビット符号も同様に書かれているのに 「与えられていない」と結論しないのはなぜでしょうか? > すみません。 > 49(0x31)、48(0x30)などの意味が全く分かりません。 wakabakun さんがどういう目的で色々と文字コードのことを 調べておられるのかわかりませんが,(符号化) 文字集合に どういう文字が含まれているかとか,何文字含まれているか ということだけじゃなくて, (a) (その文字集合の中で) 文字がどのように配置されているか. (b) (その文字集合の中で) 特徴的な文字のコードがいくつになるか. ということはいつも気にかけておいた方がいいですよ. 例えば (b) について jis x 0201 では, ・最初の図形文字:' ' (スペース) のコードは 32 (10進). ・最初の数字:'0' は 48. ・最初の英大文字:'a' は 65. ・最初の英小文字:'a' は 97. ・半角円記号 (しばしばシフトjisで問題を引き起こす):'\' は 92. 努力して暗記しろとはいいません. 文字コードについて調べていれば自然に覚えます. また文字コードを扱ううえで,2進数,16進数,簡単なビット操作 (演算とまではいいません) を理解しておくことは必須です. おそらく,文字コードとビットの対応が理解できていないから (1) のような意味不明なご質問が出るのでしょう. jis の規格書内では,例えば16進数 0x7e の代わりに 7/14 のように 10進表記しているので16進数を知らなくても何とかなるかもしれませんが, 一般には (特にプログラマは) c言語の16進表記 0x7e やアセンブラの 16進表記 7eh などを使用することが多いです. また,unicode ではほとんど16進表記です.10進表記を使うのは 数値文字参照 (例:~) のときぐらいだと思います.