next up previous
Next: 実習 Up: 2進法, 16進法, ASCIIコード Previous: 2進法, 16進法, ASCIIコード

文字コードに対するいくつかの注意

Ascii コードは 7bit
上の表からも明らかなように, Ascii コードは 7bit です. しかし今のコンピュータは データを Byte 単位で処理しますので, 通常は最上位のビットを 0 としてそこに 埋め込まれます.
文字コードは何種類もある
上でも言いましたが, 数字と文字の対応表は他にもあります. Ascii以外で代表的なのが 大型汎用計算機(Main Frame)で使われている EBCDICと呼ばれる文字コードです.
日本語の扱い
日本語, 中国語, ハングルなどの文字数の多い言語では, 文字コードは より複雑になります. 日本語の文字コードの代表的な規格は, いわゆる 7bit JIS コード, EBCDIC, Unicode の 3つです.
インターネットでは
通信に於けるデータ交換では, お互いの合意があればどのようなデータ交換 も可能です. しかし, 通信をする前の文字コードの定義をいちいち決めていたのでは 大変です. そこで, インターネット通信で標準的に用いられる文字コードが 決められています. 他の言語を一緒に送っても問題の出ない文字コードは, 日本語については, 元々の JIS コードから派生した iso-2022-jp -2という規格と Unicode から派生した iso-10646 という規格です.
過去のしがらみ
以前, JIS X 0201 1976という 8bitの文字コードが定義されました. これは, 最初の 7ビットの部分を Asciiコードの 2カ所に変更を加え, 残った部分にカタカナを定義しました. この規格は日本のパソコンで多く 用いられてきました. これは 2000年に新しい JIS規格に吸収されましたが, その 新しい規格にソフトウェアが対応していないことが数多くあります. この規格で定義されているカナ文字が, 半角カナ文字と呼ばれる物です. 上にも述べたように, きちんとした規格通りに動作しないソフトウェアが 沢山あるので, これで定義されている半角カナ文字を 使った文書を他人に送ったり渡したりしてはいけません. 迷惑行為です.

半角/全角
元々は印刷業界用語で, 文字幅の意味です. そもそもの文字コード には文字幅は定義されていません. 数と文字の対応だけが定義されています. 多くの環境で, 1byte 文字が 2byte の半分の幅で表示されたため半角文字という 俗称が生まれました. 2000年にはこの俗称を追認する形で JIS X 0201 1976 に half-width という名称がつきましたが, 今では意味がありませんし, 大学ですので この授業では 1byte 文字と言う事にします.

他の言語では
Ascii コードを見れば合衆国でしか通用しないのは明らかです. ヨーロッパ圏 用の規格としてインターネットで用いられているのは, ISO-8859-1〜 ISO-8859-16 で決められている規格です.

この講義では
この講義では, MS-Kanji とか Shift-JIS と呼ばれる日本語の文字コードを使います. これはマイクロソフトウェア・アソシエイツと三菱電機 が定めた日本語の文字コードを少し変形したものです. 今でこそ, 過去との 互換性のために国際的に登録された文字コードとなっていますが, 元となった JIS 規格の規格違反をしている, 多数の 方言がある, 英語以外の言語との共存ができない等問題点の多い文字コードです.

文字コードはこれからも変化する
日本語に限っても文字コードはまだまだ不完全な物です. これから先も変化 し続けると考えられます. その変化を追いかける専門家になる事は 不要ですが, その変化に対して合理的な行動がとれるように心がけて下さい.

次の問題を解け. (a, b, c, d, e, f はそれぞれ10進数の10, 11, 12, 13, 14, 15 に対応する文字.)

問題1
16進法で表記された以下の2桁の数をそれぞれ10進数に直せ.
10, 31, 41, ae, ff









問題2
10進法で表記された以下の数字をそれぞれ16進数に直せ.
157, 255, 89, 321









問題3
次のASCIIコードで書かれた16進数の列をASCII文字(テキスト)にせよ.
4d 61 79 20 31 39 2c 20 32 30 30 36 0d 0a 46 72 69 64 61 79 0d 0a











問題4
Okinawaを16進のASCIIコードで表せ.












next up previous
Next: 実習 Up: 2進法, 16進法, ASCIIコード Previous: 2進法, 16進法, ASCIIコード
2006-05-22