American Standard Code for Information Interchange。1963 年 ANSI 制定の 7bit 文字エンコーディング。0-127 の 128 文字 (制御文字 32 + 英数記号 95 + DEL) を定義、現代全エンコーディングの基盤として君臨する歴史的標準。
ASCII (American Standard Code for Information Interchange) は、1963 年に米国 ANSI (American National Standards Institute) が制定した 7bit 文字エンコーディングで、現代のあらゆる文字エンコーディング (UTF-8/UTF-16/Shift_JIS/EUC-JP) の基盤として君臨する歴史的標準です。0-127 の 128 文字を定義し、内訳は制御文字 32 (00h-1Fh + 7Fh DEL)・英数記号 95 (20h-7Eh) で、英大文字 A-Z (41h-5Ah)・英小文字 a-z (61h-7Ah)・数字 0-9 (30h-39h) が含まれます。1963 年初版でリリースされ 1967 年改訂版で現在形が確定、その後 1986 年に ANSI X3.4-1986 として再標準化されました。日本語非対応のため日本では Shift_JIS・EUC-JP などの拡張エンコーディングが必要となりましたが、UTF-8 の最初の 128 字と完全互換のため、ASCII 文字のみで書かれた文書は現代の UTF-8 環境でもそのまま読めます。
| 規格 | 年 | ビット | 文字数 | 用途 |
|---|---|---|---|---|
| ASCII | 1963 | 7bit | 128 | 米国標準 |
| EBCDIC | 1963 | 8bit | 256 | IBM メインフレーム |
| ISO 646 | 1972 | 7bit | 128 | ASCII 国際版 |
| ISO 8859-1 | 1987 | 8bit | 256 | 西欧拡張 (Latin-1) |
| UTF-8 | 1992 | 可変 | 全 Unicode | 現代標準 |
'A' = 65 (41h) の関係、ASCII 前提ASCII は現代の自作 PC 環境でも内部的に生きており、UTF-8 ファイルの最初の 128 バイトは ASCII と完全互換のため、コーディング (Python/JavaScript/C 等) で英数記号のみのソースコードは ASCII としても UTF-8 としても解釈可能。シリアル通信・古いネットワークプロトコル (Telnet・SMTP・HTTP のヘッダ) は ASCII を前提とし、現代でも変わりません。echo -n "hello" | xxd で 16 進ダンプすると 68 65 6C 6C 6F が見え、これは ASCII の 'h''e''l''l''o' と完全一致。日本語ファイル名・テキストは Shift_JIS/UTF-8 等の上位エンコーディングが必要ですが、Web・API 開発で英語識別子のみを使う限り ASCII の概念は実用的に意識されます。
Q1: ASCII の "DEL" は何のため? A: テレタイプ時代に紙テープの穴を全部開けて文字を消去するための「削除」記号。物理的な背景がある制御文字。
Q2: ASCII で日本語表示はできない? A: 不可。ASCII 7bit 範囲には英数字のみで日本語文字は含まれない。Shift_JIS・EUC-JP・UTF-8 など拡張エンコーディングが必要。
Q3: 8bit ASCII とは? A: 公式の ASCII は 7bit のみ、8bit に拡張したものは「拡張 ASCII」「CP437」「Latin-1」など別名称。混同しがちだが厳密には ASCII ではない。