ASCII
7 ビットで 128 文字を表現する文字コード規格。英数字と基本的な記号を収録する。
ASCII (American Standard Code for Information Interchange) は、1963 年にアメリカ規格協会 (ASA、現 ANSI) によって策定された文字コード規格です。7 ビットで 128 文字を表現し、英大文字・小文字 (A-Z, a-z)、数字 (0-9)、基本的な記号 (! @ # $ など)、および 33 個の制御文字 (改行、タブなど) を収録しています。コンピュータ間のデータ通信を標準化するために生まれた規格であり、現代のあらゆる文字コードの出発点です。
ASCII はコンピュータの文字表現の基盤であり、UTF-8 は ASCII と完全な後方互換性を持っています。ASCII 文字は UTF-8 でも 1 バイトで表現されるため、英語テキストのバイト効率が高いのが特徴です。この互換性のおかげで、ASCII のみで書かれたファイルは UTF-8 としてもそのまま正しく読み取れます。文字コードの基礎を学ぶ書籍で ASCII の歴史と仕組みを詳しく学べます。
プログラミングでは ASCII コード値を利用した文字判定や変換が頻繁に行われます。たとえば大文字の A は 65、小文字の a は 97 で、その差は常に 32 です。この規則性を利用して、大文字・小文字の変換をビット演算で高速に処理できます。また、数字の 0 は 48 であるため、文字の '5' から 48 を引くと数値の 5 が得られます。こうした ASCII コード値の知識は、入力バリデーションやパーサーの実装で実務的に役立ちます。
ASCII の 128 文字では日本語や中国語を表現できないため、各国で独自の拡張文字コードが開発されました。日本では Shift_JIS や EUC-JP、中国では GB2312 が使われ、これらの乱立が文字化けの原因となりました。最終的に Unicode が登場し、世界中の文字を統一的に扱えるようになりましたが、ASCII はその基盤として今も生き続けています。コンピュータ基礎の入門書でも ASCII は必須知識として取り上げられています。
文字数カウントにおいて、ASCII 文字は常に 1 文字 = 1 バイトという単純な関係が成り立ちます。一方、日本語の全角文字は UTF-8 で 3 バイトを消費するため、同じ文字数でもバイト数は大きく異なります。データベースの VARCHAR 制限や API のペイロードサイズを考える際、ASCII 文字と非 ASCII 文字の混在比率がバイト数の見積もりに直結します。