文字符号化史 ASCII/EBCDIC/JIS/UTF-8 1963-2026(文字符号化史)
Character Encoding史 1963-2026。ASCII (American Standard Code for Information Interchange・1963・ANSI X3.4・7-bit 128文字)・EBCDIC (Extended Binary Coded Decimal Interchange Code・IBM Mainframe System/360 1964・8-bit 256文字)・JIS X 0201 1969 (半角カナ)+JIS X 0208 1978 (第一/第二水準漢字 6,879字)+JIS X 0212 1990 (補助漢字)+JIS X 0213 2000・Shift_JIS (Microsoft 1982 SJIS・Windows-31J Microsoft Code Page 932)+EUC-JP (Extended Unix Code・1985 Sun/AT&T)+ISO-2022-JP (Email RFC 1468)・Unicode 1.0 1991+UCS-2+UCS-4+UTF-8 (Ken Thompson+Rob Pike 1992 Plan 9発祥)+UTF-16+UTF-32・絵文字: NTT DoCoMo i-mode 1999→Unicode 6.0 2010→Emoji 16.0 2024 (3,790絵文字)・BOM Byte Order Mark+CP932/CP932/CP65001・Mojibake 文字化け・¥0 標準、2026年UTF-8主流 (Web 99% UTF-8採用)。
概要
文字符号化史は、1963 年に登場した ASCII から 2026 年に至るまでの約 60 年間にわたる文字表現の進化を示す。最初の 7 ビットコードである ASCII は、英語圏のコンピュータで標準化され、後に 8 ビット拡張の EBCDIC が IBM のメインフレームで採用された。日本では JIS 系統(JIS X 0201、JIS X 0208、JIS X 0212、JIS X 0213)が制定され、Shift_JIS、EUC‑JP、ISO‑2022‑JP といった実装が並行して存在した。Unicode 1.0 の登場により、世界中の文字を統一的に扱う基盤が整い、UTF‑8、UTF‑16、UTF‑32 といった可変長エンコーディングが普及した。2025 年に Unicode 15.1 がリリースされ、2026 年には UTF‑8 が Web 全体で 99 % を占める主流文字コードとなった。
主な特徴・仕組み
| コード | 文字数 | 主要用途 | 代表的実装 |
|---|---|---|---|
| ASCII | 128 | 英語テキスト | ANSI X3.4, Windows‑1252 |
| EBCDIC | 256 | IBM メインフレーム | System/360, z/OS |
| JIS X 0201 | 128 | 半角カナ | MS‑DOS 日本語 |
| JIS X 0208 | 6 879 | 漢字(第一/第二水準) | Windows‑31J |
| JIS X 0212 | 1 130 | 補助漢字 | ISO‑2022‑JP |
| Shift_JIS | 1 900+ | 日本語 Windows | Microsoft Windows 11 |
| EUC‑JP | 1 300+ | Unix 系統 | Linux, BSD |
| ISO‑2022‑JP | 1 300+ | Eメール | RFC 1468 |
| UTF‑8 | 1 114 112 | 世界共通 | RFC 3629, RFC 9078 |
| UTF‑16 | 1 114 112 | Unicode 基盤 | Windows, macOS |
| UTF‑32 | 1 114 112 | 直接アクセス | Linux, Android |
UTF‑8 は可変長で 1–4 バイトを使用し、ASCII と下位互換性を保つ。BOM(Byte Order Mark)は UTF‑16/32 でエンディアンを示すが、UTF‑8 では推奨されない。CP932(Windows‑31J)と CP65001(UTF‑8 Windows)というコードページは、Windows での文字コード変換に使われる。文字化け(Mojibake)は、エンコーディングが不一致になると発生し、¥0 のように誤解されるケースが多い。
具体例・対応製品 (テーブル必須)
| 製品 | OS/環境 | 主な文字コード | 文字数 | 主要仕様 |
|---|---|---|---|---|
| IBM System/360 | メインフレーム | EBCDIC | 256 | 8‑bit 文字 |
| Microsoft Windows 11 | デスクトップ | CP932 / CP65001 | 1 900+ | Windows‑31J, UTF‑8 |
| Apple macOS Ventura | デスクトップ | UTF‑8 | 1 114 112 | Unicode 15.1 |
| Google Chrome 115 | ブラウザ | UTF‑8 | 1 114 112 | Web 標準 |
| Mozilla Firefox 125 | ブラウザ | UTF‑8 | 1 114 112 | Web 標準 |
| Adobe Acrobat DC 2026 | UTF‑8 | 1 114 112 | PDF 2.0 | |
| Linux Kernel 6.5 | OS | UTF‑8 | 1 114 112 | POSIX |
| Android 15 | モバイル | UTF‑8 | 1 114 112 | Unicode 15.1 |
| iOS 18 | モバイル | UTF‑8 | 1 114 112 | Unicode 15.1 |
| NTT DoCoMo i‑mode 1999 | 携帯電話 | JIS X 0201 | 128 | 旧携帯電話 |
選び方・注意点
- 対象環境の標準 – Web 開発なら UTF‑8 が必須。レガシーシステム(IBM メインフレーム)では EBCDIC が必要。
- 文字数要件 – 日本語漢字を多く扱う場合は JIS X 0208/0213 で十分だが、補助漢字が必要なら JIS X 0212 も検討。
- バイトオーダー – UTF‑16/32 を扱う場合は BOM の有無を確認。UTF‑8 では BOM を付けない方が安全。
- メール/SMTP – ISO‑2022‑JP を使用する場合は RFC 1468 に準拠し、BOM を含めない。
- 文字化け対策 – 送受信時にエンコーディングを明示し、変換ライブラリ(iconv, mbstring)を活用。
関連用語との違い
- 文字セット vs 文字コード – 文字セットは文字の集合(例:Unicode)、文字コードはその集合をビット列にマッピングした規格(例:UTF‑8)。
- コードページ vs エンコーディング – コードページは Windows で使われるローカルマッピング(例:CP932)、エンコーディングは国際規格(例:UTF‑8)。
- BOM vs 文字化け – BOM はエンディアン情報を付与するための特殊シーケンス、文字化けはエンコーディング不一致による誤表示。
よくある質問 (FAQ)
-
Q: UTF‑8 で 1 114 112 文字を扱うとき、何バイトが必要ですか?
A: UTF‑8 は 1–4 バイトで表現されるため、平均 2–3 バイト程度。最大 4 194 304 バイト(4 バイト × 1 114 112)になる。 -
Q: Windows 11 で Shift_JIS から UTF‑8 へ変換する際に注意すべき点は?
A: CP932 には Shift_JIS と同じ文字が多いが、拡張文字(例:半角カタカナの 0x80 系)は CP932 で別扱い。変換時は CP932 を指定し、BOM を付けない。 -
Q: 2026 年に UTF‑8 が Web の 99 % を占めると聞きましたが、SMTP での扱いは?
A: RFC 9078 が 2025 年に公開され、SMTP で UTF‑8 をデフォルトにするための拡張が定義されている。多くのメールサーバーは 2026 年までに対応済み。
まとめ
1963 年の ASCII から 2026 年の UTF‑8 主流まで、文字コードは用途と環境に応じて多様化してきた。日本国内では JIS 系統が長らく支配的だったが、Unicode の普及により世界共通の UTF‑8 が標準となった。2025 年の Unicode 15.1 と 2026 年の Web 99 % UTF‑8 という統一化は、国際的な情報交換を円滑にし、文字化けのリスクを大幅に低減した。今後は Unicode 16.0 の拡張と、AI 生成コンテンツの多言語対応がさらに進むことで、文字コードの重要性は高まる一方だ。