テキストを通信するためには、
テキストを
キャラクタの列として分解し、そのそれぞれの
キャラクタを順に通信すればいい。しかし、わたしたちが日常の生活で行なっているように、字や声を使って
キャラクタを通信するのは、電線や
電波を使っての通信には向いていない。そこで、
キャラクタに
符号を対応づけて、その
符号を字や声の代わりに通信することが行なわれるようになった。この方式は、通信だけでなく、記録にも使われている。
ASCIIは63年06月17日に
ASA(アーサ、<American Standards Association=アメリカ規格協会、69年からは
ANSI<American National Standards Association=アメリカ国家規格協会/アンジと呼ばれている)によって定められた。正式には
(当時。現在は改定を経てANSI INCITS 4)という。
それまでにも、テキストの通信のための符号系としては、Morse符号系やEBCDICなどが広く使われていた。しかし、これらの符号系は、キャラクタの種類や順序と符号の種類や順序とが対応するようには作られていなかった。そのため、通信の前後に行なわれるいろんな処理(小文字を大文字に変えたり、強弱の順にテキストなどを並べ変えたり)が難しいという欠点があった。ASCIIは、キャラクタと符号とがきれいに対応した、通信だけでなくほかの用途にも使いやすい符号系として登場した。
符号系にとって大切なことの一つは、通信のこっちと向こうとで、どのキャラクタは知っていなければならなくて、どのキャラクタは知らなくてもいい(=使ってはいけない)かという範囲をきちんと決めることだ。テキストに使われるのでたがいに知っていなければならないとされるキャラクタの全体をキャラクタ集合(character set)という。
ASCIIのキャラクタ集合には、数字、大小アルファベット、区切り記号からなる94種類のキャラクタと、34種類の準キャラクタとが含まれている。
符号系のもう一つの役割りは、まさに名前の通りで、どのキャラクタ(ここの話題ではそうだけれど一般には情報)とどの符号とを対応づけるかを定めることにある。
ASCIIは、7桁の長さのビット列を符号に使い、それらとキャラクタとを対応づけている。対応は表(▽図)で示されている。
ASCIIの符号は、実際には、左端にもう1桁を追加して、8桁にして使うことが多い。この1桁は、ただの詰め草のこともあるが、記録や通信の途中で内容が狂ってしまった時に、それを検出する
パリティ検査にも使われている。
ASCIIは、それまでのほかの
符号系よりもずっと単純で使いやすかった。だから、新しく作られた
ミニコンピュータやパーソナルコンピュータでは必ず採用された。特に、
unixというOSで採用されたことから、研究や開発では事実上の標準になった。しかし、それぞれの業務ですでに使われていた
符号系を途中で変更することはできなかったので、大型計算機システムと呼ばれていた多くの業務システムはASCIIを採用しなかった。そのため、いろんな種類の
符号系がシステムによって使い分けられる状態が、それからしばらく続くことになった。
67年には
ISOが
国際標準符号系 ISO R646(1967)を発表したが、これはASCIIに合わせて決められた。二つの体系で違っている部分は、基本的には準
キャラクタの部分だけで、ふつうの
キャラクタについてはASCIIをほとんどそのまま受け継いでいる。
また、
PC/DOS(=MS-DOS)、(のちの)
MacOS、
Windowsなどで採用されている現在の
キャラクタ符号系は、どれもISOに(したがってASCIIに)基づいて決められている。また、(微妙な問題が起こっているが)日本の
JIS1単位符号系もASCIIをもとにして決められている。
日本にはASCIIという会社があって、同じ名前の雑誌を出版している。
公式には、この社名は"あなたの好きなコンピュータ いっしょにいいことしませんか?"の短縮語だということになっている([Wiki])が、それはたぶん冗談で、やっぱり本命は文字符号系のASCII符号系だろう。
EBCDICを使っている大型コンピュータに対抗して、ASCIIを使うパーソナルコンピュータを盛り立てていこうというメッセージを、初期の読者は社名から読み取っていたはずだ