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

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

    現在の Windows 10(Windows 7, Windows 8とかも)の日本語環境では, \ (バックスラッシュ)のコードに対して¥記号を表示しています. これはこの過去のしがらみ(JIS X 0201 1976)のためで, 実際には間違った表記となっています. 日本語以外の Windows では, \ が表示されます. また, JIS X 0201 1976 の前半 7bit部分を Ascii コードと解説している Web ページも沢山存在しますが, それらも間違ったコード表記です.

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

他の言語では
ASCIIコードが合衆国でしか通用しないのは明らかです. ヨーロッパ圏 やトルコ語, タイ語用の規格として多くで用いられていたのは, ISO-8859-1〜ISO-8859-16と決められている物です. これらは最近, 下の UTF-8に置き換わっていっているようです.

この講義では
この講義では, 主に UTF-8 と呼ばれるコードを用います. これは上に述べた ISO-10646 の文字集合を符号化したもので, インターネットでは デファクトスタンダード(de Facto Standard, 事実上の標準という意味のラテン語 + 英語) となっているものです.

昔, 日本で売られたパソコンでは
MS-Kanji と呼ばれる文字コード, およびこれから派生した文字コードが 使われていました. これはマイクロソフトウェア・アソシエイツと三菱電機 (アスキー社も加わっていた?)が定めた日本語の文字コードを少し変形したものです. 上で述べた, JIS X 0201 1976 の規格を 2byteにし, 増えた部分に JISで 定められた文字セットを少し番号をずらして割り振ってできたものです. 今でこそ, 過去との互換性のために国際的に登録された文字コードとなっていますが, 元となった JIS規格の規格違反をしている, 多数の方言がある, ASCII以外のコードとの共存ができない等問題点の多い文字コードです.

    なお, コンピュータは, 上で述べた main frame のように, パーソナルでないものもあります. 過去には, 何種類かの日本語文字コードが, コンピュータシステム毎に存在していました. それらの中で, 代表的なもののひとつが, EUC (Extended Unix Code)です.

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

現在でも, Unicode の空き領域に絵文字が多量に追加され続けています.

より詳しく知りたいなら
Wikipedia(http://ja.wikipedia.org/) の文字コードの項は, 割と良く書けている. 本気で勉強するなら, 一冊の専門書を読む 必要があります.



Subsections
2021-04-22