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

Набор символов A

Набор символов A — это совокупность знаков, используемых для представления информации в письменной форме, обладающая определёнными структурными и функциональными характеристиками, которые отличают её от других систем письменности. В широком смысле термин «набор символов» может относиться к любому конечному множеству графических элементов (букв, цифр, знаков препинания, идеограмм), применяемому для записи текстов на одном или нескольких языках. В более узком, техническом значении, под набором символов понимают кодировку — стандарт, устанавливающий соответствие между графическими знаками и их числовыми кодами в компьютерных системах. В русскоязычной традиции под «набором символов A» часто подразумевают одну из исторических кодировок кириллицы, например, альтернативную кодировку ГОСТ (также известную как CP866 или IBM866), которая была широко распространена в операционных системах MS-DOS и ранних версиях Windows.

История

Происхождение и предпосылки

Необходимость в стандартизации наборов символов для кириллицы возникла с развитием вычислительной техники в 1970–1980-х годах. Первоначально компьютеры, производимые в СССР и странах Восточной Европы, использовали различные, несовместимые между собой кодировки. Это создавало проблемы при обмене данными, особенно в международных проектах. В 1980-х годах в рамках разработки Единой системы электронных вычислительных машин (ЕС ЭВМ) и персональных компьютеров (ПК) типа «Искра» и «Электроника» были предложены первые варианты кодировок кириллицы, основанные на 8-битном представлении (256 символов).

Разработка набора символов A

Набор символов A, известный также как «Кодировка ГОСТ 19768-87» или «Альтернативная кодировка», был разработан в 1987 году в рамках стандарта ГОСТ 19768-87 «Система обработки информации. Кодировка символов 8-битная». Этот стандарт определял 256 символов, где первые 128 (0–127) соответствовали стандарту ASCII (American Standard Code for Information Interchange), а вторые 128 (128–255) были отведены под национальные символы, в первую очередь — кириллицу. В отличие от основной кодировки ГОСТ (КОИ-8), которая была ориентирована на международное использование и сохраняла совместимость с ASCII в верхнем регистре, набор символов A был более «русифицированным»: он включал все буквы русского алфавита, включая «Ё» и «ё», а также псевдографические символы для построения таблиц и рамок в текстовом режиме.

Распространение и применение

Набор символов A получил широкое распространение в операционной системе MS-DOS (начиная с версии 3.3) и в ранних версиях Microsoft Windows (до Windows 95). Он использовался в текстовых редакторах (например, в Norton Commander, Volkov Commander, Far Manager), в системах управления базами данных (dBase, FoxPro) и в программировании на языках низкого уровня (ассемблер, C). В России и странах СНГ набор символов A стал де-факто стандартом для DOS-приложений, поскольку он обеспечивал корректное отображение кириллицы в текстовом режиме с разрешением 80×25 символов. В 1990-е годы, с переходом на Windows, набор символов A был вытеснен кодировкой Windows-1251, но оставался актуальным для старых программ и архивных данных.

Структура и характеристики

Кодировка

Набор символов A представляет собой 8-битную кодировку, в которой каждый символ кодируется одним байтом (8 бит). Это позволяет закодировать 256 различных символов. Диапазон значений от 0 до 127 (0x00–0x7F) полностью совпадает с ASCII и включает управляющие символы (0–31), знаки препинания, цифры, латинские буквы (A–Z, a–z) и специальные символы. Диапазон от 128 до 255 (0x80–0xFF) содержит национальные символы, в том числе:

  • 32 буквы русского алфавита (А–Я, а–я) — 64 символа;
  • букву «Ё» и «ё» — 2 символа;
  • знаки препинания, используемые в русском языке (кавычки, тире, дефис) — около 10 символов;
  • псевдографические символы (рамки, углы, линии) — 32 символа;
  • математические и технические символы (±, ×, ÷, √, ∑, ∞) — около 20 символов;
  • дополнительные символы (например, символы валют, градуса, параграфа) — около 10 символов.

Таблица символов (частичная)

Ниже приведена таблица кодов символов (в десятичной и шестнадцатеричной системе) для диапазона 128–255, характерная для набора символов A (CP866):

Десятичный кодШестнадцатеричный кодСимволОписание
1280x80АРусская заглавная буква А
1290x81БРусская заглавная буква Б
............
1590x9FЯРусская заглавная буква Я
1600xA0аРусская строчная буква а
............
1750xAFяРусская строчная буква я
2400xF0ЁРусская заглавная буква Ё
2410xF1ёРусская строчная буква ё
176–2070xB0–0xCF░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌Псевдографические символы

Отличия от других кодировок

Набор символов A отличается от других кодировок кириллицы (КОИ-8, Windows-1251, ISO 8859-5) расположением русских букв. В КОИ-8 кириллица размещена в диапазоне 0xE0–0xFF, что обеспечивает совместимость с ASCII в верхнем регистре (например, «А» (0xE0) соответствует «а» (0xE0) в ASCII, но это не так). В Windows-1251 русские буквы занимают диапазон 0xC0–0xFF, а в наборе символов A — 0x80–0xAF (для заглавных) и 0xA0–0xAF (для строчных). Это различие приводило к тому, что тексты, созданные в одной кодировке, отображались как «кракозябры» в другой.

Применение

В операционных системах

Набор символов A был стандартной кодировкой для MS-DOS и ранних версий Windows (до Windows 95). Он использовался в текстовом режиме (консоль) для отображения кириллицы, а также в файловых системах FAT12 и FAT16 для хранения имён файлов. В Windows 9x и NT поддержка набора символов A была реализована через таблицу OEM (Original Equipment Manufacturer), которая использовалась для консольных приложений. В современных версиях Windows (начиная с Windows 2000) набор символов A поддерживается в режиме совместимости для старых программ.

В программировании

В языках программирования, таких как C, C++, Pascal, набор символов A использовался для работы с текстовыми строками в среде MS-DOS. Библиотеки функций (например, printf, scanf) по умолчанию ожидали данные в кодировке CP866. Для преобразования между наборами символов использовались функции CharToOem и OemToChar в Windows API. В современных языках (Python, Java, C#) поддержка набора символов A реализована через кодировку cp866 или IBM866.

В архивах и старых данных

Множество текстовых файлов, созданных в 1990-е годы, хранятся в кодировке набора символов A. Это касается документации, исходных кодов, баз данных, электронных книг и игр. Для корректного чтения таких файлов в современных системах требуется указать кодировку cp866 при открытии. В архиваторах (например, ZIP, RAR) имена файлов, созданные в DOS, также могут быть закодированы в наборе символов A.

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

Несовместимость с Unicode

Основным недостатком набора символов A является его ограниченность 256 символами, что не позволяет представлять символы других языков (например, украинского, белорусского, болгарского) без дополнительных кодировок. С появлением Unicode (UTF-8, UTF-16) необходимость в использовании набора символов A отпала, так как Unicode обеспечивает единое представление для всех письменных систем мира.

Проблемы с псевдографикой

Псевдографические символы, входящие в набор символов A, были разработаны для текстового режима с фиксированным шагом (моноширинный шрифт). При отображении в графическом режиме или в веб-браузерах эти символы могут отображаться некорректно, если не используется соответствующий шрифт (например, Terminal, Lucida Console). В современных системах псевдографика заменяется символами Unicode (например, , , ).

Устаревание

С переходом на Windows 95 и более поздние версии, а также с распространением интернета, набор символов A был вытеснен кодировкой Windows-1251, а затем — Unicode. В настоящее время он используется только в legacy-системах, эмуляторах DOS (например, DOSBox) и для работы с архивными данными.

Интересные факты

  • Набор символов A часто называют «альтернативной кодировкой» (Alt-кодировкой), так как он был альтернативой основной кодировке ГОСТ (КОИ-8).
  • В некоторых источниках набор символов A обозначается как CP866 (Code Page 866) — это номер кодовой страницы в системе IBM.
  • Псевдографические символы набора символов A использовались для создания интерфейсов текстовых программ (например, Norton Commander, Volkov Commander), которые были популярны в 1990-е годы.
  • В России и странах СНГ набор символов A был настолько распространён, что многие пользователи считали его единственно возможной кодировкой для кириллицы, не зная о существовании других.

Источники

  • ГОСТ 19768-87 «Система обработки информации. Кодировка символов 8-битная».
  • IBM. Code Page 866 (CP866) — IBM PC Data.
  • Microsoft. Windows Code Pages: CP866.
  • Книга: «Кодировки кириллицы: история и современность» (автор: А. В. Лебедев, 2003).
  • Статья: «Развитие кодировок кириллицы в вычислительной технике» (журнал «КомпьютерПресс», № 5, 1998).

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

На главную BFOmetr →