問題になるのは, この文字コードに数字やアルファベットが定義されていたことです. つまり, ASCII コードと同じ文字が異なる数に対応するように JIS でも定義されました.
コンピュータ自体, あるいはそれを動かす基本ソフトは, ほとんどの場合アメリカで開発されましたから, 当然, ASCII コードを基本とする処理系が作られます. 日本では, それに上の JIS X 0208 を加えて動かすというシステムになりました. そのための工夫が, MS-KANJI だったり, EUC だったわけです.
その世界では, アルファベットの A に対応する数が 2種類あることになります. そこで, ASCII の文字幅を JIS X 0208 の文字幅の半分で表示する フォント(Font, 文字の形を表示するためのデータ)が作られました. これが, 全角/半角という言葉の起源です.
しかし, プログラムなどを作る側から考えるとそのようなシステムは, 不便です. 「1」という文字を探すのにも, ASCII と JIS X 0208 の両方を探さなければいけないからです. また, プログラミングなどでは, プログラムで意味を持つ単語は, ASCII 文字を使うのが通常で, JIS X 0208 のような文字は, 文字列定数としてしか使わないのが基本です.
現在, 上のような「ASCII + 現地語」のようなシステムは, ほぼ無くなっていると思います. しかし, 残念ながら, Unicode を策定するときにも,「複数の数が同じ文字に対応する」 という愚行が継承されました.
この授業では, HTML を講義する予定ですが, それ以外の場面でも私の授業では,
ASCII で定義されている文字は, 半角を利用する.を守ってください. 前回の資料でも述べましたが, 特に邪悪なのが「全角の空白」です. これが原因でうまいかないことが往々にしてあり, 見えないので, 原因究明に時間がかかるのです. 他にも, 括弧記号とかにも注意してください.
前回の資料で,「全角の空白で位置揃えをするな」と書きました. ほとんどの場合, 位置揃えには全角空白以外の方法が用意されており, 位置揃えをすることを意識的に行えるようになっています. つまり,「全角の空白」というのは, 全く存在価値のない文字なのです.
次の問は, 高校の数学 A の復習です. レポート問題ではありませんが, 数理の学生としては, このくらいはできるようになっておいてください.
問 10進法で 0.1 と表記される数を 2進法で表すとどうなるか.
2022-04-27