Открыть сервис

CP437

CP437 (Code Page 437, также известная как OEM-US, IBM PC OEM, MS-DOS OEM) — это однобайтовая кодовая страница (набор символов), разработанная корпорацией IBM в 1981 году для использования в персональных компьютерах IBM PC. Она стала первой стандартной кодовой страницей для текстового режима IBM PC и операционной системы MS-DOS, заложив основу для отображения текста и псевдографики на ранних компьютерах.

История

Разработка и стандартизация

Создание CP437 было обусловлено необходимостью отображения текста и символов на монохромных и цветных дисплеях IBM PC, которые работали в текстовом режиме с разрешением 80×25 символов. В отличие от более ранних систем, использовавших 7-битный ASCII (128 символов), IBM решила использовать 8-битную кодировку (256 символов), чтобы включить в неё дополнительные знаки: буквы национальных алфавитов, математические символы и элементы псевдографики.

Разработкой занималась группа инженеров IBM под руководством Дэвида Брэдли. В 1981 году CP437 была представлена вместе с IBM PC (модель 5150). Она стала основной кодовой страницей для MS-DOS, разработанной Microsoft, и оставалась таковой до середины 1990-х годов.

Распространение и влияние

CP437 получила широкое распространение благодаря доминированию IBM PC и совместимых с ними компьютеров, а также операционных систем MS-DOS и PC DOS. Она использовалась во всех программах, работающих в текстовом режиме: текстовых редакторах (например, Norton Editor, WordStar), электронных таблицах (Lotus 1-2-3), играх (Doom, Wolfenstein 3D), файловых менеджерах (Norton Commander, Volkov Commander) и системных утилитах.

С появлением Windows 95 и переходом на графические интерфейсы, а также с распространением Unicode, CP437 постепенно утратила своё значение. Однако она остаётся важной для совместимости с устаревшим программным обеспечением, эмуляторами DOS и некоторыми встроенными системами.

Структура и классификация

Диапазоны символов

CP437 представляет собой 8-битную кодовую страницу, где каждый символ кодируется одним байтом (0–255). Символы делятся на три основные группы:

Особенности кодировки

Применение

Операционные системы и программы

CP437 была основной кодовой страницей для:

Современное использование

Несмотря на устаревание, CP437 продолжает использоваться в следующих контекстах:

Примеры символов CP437

Код (дес.)Код (шест.)СимволОписание
10x01Смайлик (белый)
20x02Смайлик (чёрный)
30x03Червовый туз
40x04Бубновый туз
50x05Трефовый туз
60x06Пиковый туз
70x07Точка
80x08Точка в круге
90x09Круг
100x0AКруг с точкой
110x0BМужской символ
120x0CЖенский символ
130x0DМузыкальная нота
140x0EДве музыкальные ноты
150x0FСолнце
160x10Стрелка вправо
170x11Стрелка влево
180x12Стрелка вверх-вниз
190x13Двойной восклицательный знак
200x14Символ параграфа
210x15§Символ раздела
220x16Чёрный прямоугольник
230x17Стрелка вверх-вниз с основанием
240x18Стрелка вверх
250x19Стрелка вниз
260x1AСтрелка вправо
270x1BСтрелка влево
280x1CПрямой угол
290x1DСтрелка влево-вправо
300x1EТреугольник вверх
310x1FТреугольник вниз
1270x7FДом
1760xB0Лёгкая тень
1770xB1Средняя тень
1780xB2Тёмная тень
1790xB3Вертикальная линия
1800xB4Вертикальная линия с соединением вправо
1810xB5Двойная вертикальная линия с соединением вправо
1820xB6Двойная вертикальная линия с соединением влево
1830xB7Двойная вертикальная линия с соединением вниз
1840xB8Двойная вертикальная линия с соединением вверх
1850xB9Двойная вертикальная линия с двойным соединением
1860xBAДвойная вертикальная линия
1870xBBДвойной правый верхний угол
1880xBCДвойной правый нижний угол
1890xBDДвойной левый нижний угол
1900xBEДвойной левый верхний угол
1910xBFПравый верхний угол
1920xC0Левый нижний угол
1930xC1Пересечение линий сверху
1940xC2Пересечение линий снизу
1950xC3Пересечение линий слева
1960xC4Горизонтальная линия
1970xC5Пересечение линий
1980xC6Двойная горизонтальная линия с соединением влево
1990xC7Двойная горизонтальная линия с соединением вправо
2000xC8Двойной левый нижний угол
2010xC9Двойной левый верхний угол
2020xCAДвойное пересечение линий сверху
2030xCBДвойное пересечение линий снизу
2040xCCДвойное пересечение линий слева
2050xCDДвойная горизонтальная линия
2060xCEДвойное пересечение линий
2070xCFДвойное пересечение линий сверху (одинарная внизу)
2080xD0Двойное пересечение линий снизу (одинарная вверху)
2090xD1Двойное пересечение линий сверху (одинарная слева)
2100xD2Двойное пересечение линий снизу (одинарная справа)
2110xD3Двойной левый нижний угол (одинарная вверху)
2120xD4Двойной правый нижний угол (одинарная вверху)
2130xD5Двойной левый верхний угол (одинарная внизу)
2140xD6Двойной правый верхний угол (одинарная внизу)
2150xD7Двойное пересечение линий (одинарная по диагонали)
2160xD8Двойное пересечение линий (одинарная по диагонали)
2170xD9Правый нижний угол
2180xDAЛевый верхний угол
2190xDBПолный блок
2200xDCНижняя половина блока
2210xDDЛевая половина блока
2220xDEПравая половина блока
2230xDFВерхняя половина блока
2240xE0αАльфа (греческая)
2250xE1ßЭсцет (немецкая)
2260xE2ΓГамма (греческая)
2270xE3πПи (греческая)
2280xE4ΣСигма (греческая)
2290xE5σСигма (строчная греческая)
2300xE6µМикро
2310xE7τТау (греческая)
2320xE8ΦФи (греческая)
2330xE9ΘТета (греческая)
2340xEAΩОмега (греческая)
2350xEBδДельта (греческая)
2360xECБесконечность
2370xEDφФи (строчная греческая)
2380xEEεЭпсилон (греческая)
2390xEFПересечение множеств
2400xF0Тождественно равно
2410xF1±Плюс-минус
2420xF2Больше или равно
2430xF3Меньше или равно
2440xF4Интеграл (верхняя часть)
2450xF5Интеграл (нижняя часть)
2460xF6÷Деление
2470xF7Приблизительно равно
2480xF8°Градус
2490xF9Точка (средняя)
2500xFA·Точка (средняя)
2510xFBКвадратный корень
2520xFCСтепень n
2530xFD²Квадрат
2540xFEКвадрат
2550xFFНеразрывный пробел

Критика и ограничения

Источники

  1. IBM Personal Computer Technical Reference Manual (1981).
  2. Microsoft MS-DOS Programmer's Reference (1988).
  3. Стандарт Unicode, версия 15.0.
  4. Документация по эмулятору DOSBox.
  5. Статья «Code page 437» в английской Википедии.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →