アスキー文字(アスキーモジ)とは | 意味や読み方など丁寧でわかりやすい用語解説
アスキー文字(アスキーモジ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
アスキー文字 (アスキーモジ)
英語表記
ASCII (アスキー)
用語解説
アスキー文字とは、American Standard Code for Information Interchangeの略称であり、日本語では「米国情報交換用標準コード」と訳される。これはコンピュータが文字を内部で処理し、記録し、通信するために使用する、最も基本的な文字コード体系の一つである。コンピュータは0と1の二進数しか理解できないため、人間が使う文字を扱うには、各文字に固有の数値を割り当てる必要がある。アスキー文字は、この文字と数値の対応関係を定めた最初の標準的な規格であり、特に英語圏で使われるアルファベット、数字、記号などを網羅している。具体的には、7ビット、すなわち7桁の2進数を用いて文字を表現する。これにより、2の7乗である128種類の異なる文字や記号、制御コードを定義することができる。この規格はコンピュータの歴史の初期に策定され、その後の多くのシステムやプログラミング言語、通信プロトコルの基礎となった。そのため、現代のコンピュータシステムを理解する上で、アスキー文字の知識は不可欠な基礎と言える。現在の主流であるUnicodeなどのより大規模な文字コード体系も、アスキー文字との互換性を保つ形で設計されており、システムエンジニアとしてキャリアを始める者にとって、その仕組みを把握しておくことは非常に重要である。
アスキー文字の詳細な構造について解説する。アスキーコードは、0から127までの128個の番号(コードポイント)で構成されている。これらの番号は、大きく二つのグループに分類される。一つは「制御文字」、もう一つは「図形文字」である。まず、コードポイント0から31、そして127に割り当てられているのが制御文字である。これらは、画面に表示されることを目的とした文字ではなく、コンピュータやプリンタ、通信機器などのデバイスの動作を制御するための特殊なコードである。例えば、0番のNULL(ヌル文字)は文字列の終わりを示すマーカーとして、10番のLF(Line Feed)はカーソルを一段下げる改行の指示として、13番のCR(Carriage Return)はカーソルを行の先頭に戻す指示として使われる。Windows環境では、改行はCRとLFの組み合わせで表現されることが多い。他にも、9番のHT(Horizontal Tab)はタブ文字、27番のESC(Escape)は後続の文字シーケンスが特別な意味を持つことを示すエスケープシーケンスの開始に使われる。これらの制御文字は、テキストファイルのフォーマットや、ネットワーク通信におけるプロトコルの制御など、システムの裏側で重要な役割を果たしている。次に、コードポイント32から126に割り当てられているのが図形文字である。これらは、実際に画面に表示されたり印刷されたりする、人間が読むことができる文字や記号を指す。32番は空白文字(スペース)である。33番から47番、58番から64番、91番から96番、123番から126番には、感嘆符、引用符、ドル記号、パーセント記号などの各種記号が配置されている。48番から57番には、アラビア数字の「0」から「9」が順番に割り当てられている。そして、65番から90番にはアルファベットの大文字「A」から「Z」が、97番から122番には小文字の「a」から「z」が、それぞれアルファベット順に連続して配置されている。この連続した配置には利点があり、例えば大文字の「A」(65番)と小文字の「a」(97番)のコードの差は常に32であるため、大文字と小文字の変換を簡単な計算で行うことができる。しかし、アスキー文字は7ビットで128種類しか表現できないため、英語以外の言語、例えば日本語のひらがなや漢字、ヨーロッパ言語で使われるアクセント記号付きの文字などを含めることができないという大きな限界があった。この問題を解決するため、コンピュータの基本単位が8ビット(1バイト)に移行する中で、空いていた最上位ビットを利用してコードを128から256に拡張した「拡張ASCII」が登場した。しかし、この拡張部分には統一された国際標準が存在せず、国や地域、メーカーによって異なる文字が割り当てられたため、これが文字化けの主な原因となった。現在では、世界中のあらゆる文字を統一的に扱うことができるUnicodeが標準となっている。特にその符号化方式の一つであるUTF-8は、アスキー文字(0番から127番)を1バイトで表現し、アスキーコードと完全に同じ値になるように設計されている。この互換性のおかげで、アスキー文字しか扱えなかった古いシステムでもUTF-8で書かれたテキストの一部を正しく解釈できる。プログラミング言語のソースコード、ファイル名、URL、メールのヘッダ情報など、システムの根幹をなす多くの部分では、今なおアスキー文字が基本として使用されている。したがって、システムエンジニアは、文字コードに関する問題のトラブルシューティングや、データの内部構造を理解するために、アスキー文字の知識を確実に身につけておく必要がある。