CP437 (IBM PC, 1981)(シーピーヨンサンナナ)
IBM が 1981 年の IBM PC 5150 で採用した 8bit 文字エンコーディング。ASCII の 7bit 128 字に加え、80h-FFh の 128 字に欧米拡張文字 (アクセント文字)・罫線・記号・ギリシャ文字を割り当てた拡張 ASCII の代表的実装。
概要
CP437 (Code Page 437) は、IBM が 1981 年の IBM PC 5150 で採用した 8bit 文字エンコーディングで、ASCII の 7bit 128 字に加え、80h-FFh の 128 字に欧米拡張文字 (アクセント文字)・罫線素片・記号・ギリシャ文字・数学記号を割り当てた「拡張 ASCII」の代表的実装です。IBM PC の DOS 環境で初期画面表示の標準として全世界に普及し、罫線素片 (─│┌┐└┘┤├┬┴┼ など 40 個程度) は DOS テキスト UI 構築の基本要素として、Norton Commander (1986)・Sidekick (Borland, 1984)・Lotus 1-2-3 (1983)・WordStar・dBASE などの全テキスト系ソフトで多用されました。1990 年代まで MS-DOS の標準コードページとして君臨し、Windows 95 以降に CP1252 (Windows-1252) に置き換えられましたが、DOS Box やレトロ PC エミュレータで現代も使われ続けています。
主な特徴・仕組み
- 規格採用: 1981 年 IBM PC 5150
- ビット数: 8bit (0-255 の 256 文字)
- 構成: ASCII 範囲 (0-127) + 拡張範囲 (128-255)
- 拡張範囲 (80h-FFh):
- 80h-9Fh: 欧米アクセント文字 (Çüéâäàåçêëèïîìì 等)
- A0h-AFh: 西欧拡張 (áíóúñÑ 等)
- B0h-DFh: 罫線素片 (─│┌┐└┘┤├┬┴┼ ╔╗╚╝╠╣╦╩╬等)
- E0h-EFh: ギリシャ文字 (αβΓπΣστΦΘΩδ 等)
- F0h-FFh: 数学記号・記号 (≡≥≤÷≈°²■等)
- 罫線素片の意義: DOS テキスト UI で枠線・表組み・ウィンドウ装飾を実現
- CP850 (1985): CP437 の改良版、西欧文字を強化・罫線を削減
スペック比較表
| コードページ | 年 | 用途 | 罫線素片 |
|---|---|---|---|
| CP437 | 1981 | IBM PC 標準 | あり (40+) |
| CP850 | 1985 | 西欧拡張 | 削減 |
| CP932 (Shift_JIS) | 1993 | 日本語 Windows | 削減 |
| CP1252 (Windows-1252) | 1985 | Windows 西欧 | なし |
| ISO 8859-1 | 1987 | Unix Latin-1 | なし |
具体例・対応ソフト
- IBM PC 5150 DOS 1.0 (1981): CP437 標準実装、ROM フォントで表示
- Norton Commander 1.0 (1986): 罫線素片で 2 ペインファイラ UI、当時の革新
- Sidekick (Borland, 1984): ポップアップ常駐ソフト、CP437 罫線で枠線描画
- dBASE III (Ashton-Tate, 1984): DOS データベース、罫線で表組み
- DOSBox (現代): レトロ PC エミュレータ、CP437 完全対応
自作PCでの選び方・注意点
CP437 は 1990 年代以前の DOS 用ソフトを動かす場合に必須のコードページ。現代 Windows・Linux では UTF-8 標準化により直接利用は減少しましたが、DOSBox (¥0、OSS) や PCem (¥0、IBM PC 完全エミュレーション) で CP437 環境を再現可能。レトロ PC コレクション (IBM PC 5150・PC/XT・PC/AT 互換機) や DOS ゲーム実機運用では CP437 知識が必要となり、Norton Commander・Lotus 1-2-3 などの罫線表示を正常に行うにはコードページ設定 (chcp 437) が必須。Windows 11 の DOS 互換シェル (cmd.exe) でも chcp 437 で CP437 表示に切替可能、レトロ感を出す演出として活用できます。
関連用語との違い
- ASCII (7bit): CP437 の下位互換、80h 以降の拡張部分が CP437 独自
- CP932 (Shift_JIS): 日本語 Windows、CP437 の置き換え
- UTF-8: 現代標準、CP437 罫線素片は Unicode の Box Drawing ブロックに継承
よくある質問(FAQ)
Q1: CP437 の最大の特徴は? A: 罫線素片の充実。DOS テキスト UI で枠線・表組みが描けるため、Norton Commander や Lotus 1-2-3 などの本格的なテキスト系アプリが実現できた。
Q2: 現代でも使う場面は?
A: DOSBox や PCem などのレトロ PC エミュレータで DOS ソフトを動かす場合、CP437 設定で正しく表示。chcp 437 コマンドで Windows でも切替可能。
Q3: Unicode で罫線素片は使える? A: Unicode に Box Drawing ブロック (U+2500-U+257F) として継承、現代 UTF-8 環境でも罫線素片 (─│┌┐└┘) を表示可能。
まとめ
- CP437 = 1981 年 IBM PC 5150 採用 8bit 文字エンコーディング
- ASCII + 罫線素片 40+・欧米アクセント・ギリシャ文字・数学記号
- DOS テキスト UI 構築の基盤、Norton Commander 等で活用
- DOSBox/PCem で現代もレトロ PC 用途で利用継続