КОИ-7
КОИ-7 — это семибитная кодировка символов, разработанная в СССР в 1961 году для представления букв русского и латинского алфавитов, цифр, знаков препинания и управляющих символов в вычислительной технике и системах передачи данных. Является первой стандартизированной компьютерной кодировкой для кириллицы, предшествовавшей более поздним восьмибитным кодировкам (КОИ-8, Windows-1251) и Unicode. Название расшифровывается как «Код Обмена Информацией, 7-битный».
История
Разработка КОИ-7 была инициирована в связи с необходимостью унификации представления текстовой информации на советских ЭВМ и в телетайпных сетях. До её появления использовались различные ведомственные и заводские кодировки, что затрудняло обмен данными между разными типами машин (например, «Урал», «Минск», БЭСМ). В 1961 году Госстандарт СССР утвердил ГОСТ 13052-67 «Система обработки информации. Кодирование символов на перфолентах и магнитных лентах», который фактически закрепил КОИ-7 в качестве основного стандарта.
Кодировка базировалась на международном стандарте ASCII (American Standard Code for Information Interchange), но с существенным отличием: в ней были заменены некоторые латинские буквы и символы на кириллические, при этом сохранён семибитный формат. Это позволяло использовать существующее телетайпное оборудование и каналы связи, рассчитанные на 7 бит, без модернизации. В 1970-е годы КОИ-7 стала основной кодировкой для советских ЭВМ серии ЕС ЭВМ (аналог IBM System/360) и СМ ЭВМ, а также для операционных систем типа ОС ЕС (аналог OS/360).
С переходом к персональным компьютерам в 1980-х годах и появлением восьмибитных кодировок (КОИ-8, CP-866) КОИ-7 постепенно вытеснялась из массового использования. Однако она продолжала применяться в специализированных системах (телетайпная связь, промышленные контроллеры) вплоть до 2000-х годов. В настоящее время КОИ-7 представляет исторический интерес и используется в эмуляторах старых ЭВМ и в некоторых узкоспециализированных протоколах.
Структура и принцип кодирования
КОИ-7 использует 7 бит для кодирования каждого символа, что позволяет представить 128 различных значений (от 0 до 127). Первые 32 значения (0–31) зарезервированы под управляющие символы (например, перевод строки, возврат каретки, конец текста). Остальные 96 значений (32–127) отведены под печатные символы: латинские буквы (прописные и строчные), цифры, знаки препинания, а также буквы кириллицы.
Ключевая особенность КОИ-7 — фонетическое соответствие кириллических букв латинским. Для кодирования русских букв использовались коды латинских букв, которые звучат похоже или имеют схожее начертание. Например:
- Русская «А» (кириллица) кодируется кодом латинской «A» (65).
- Русская «Б» — кодом латинской «B» (66).
- Русская «В» — кодом латинской «V» (86).
- Русская «Г» — кодом латинской «G» (71).
- Русская «Д» — кодом латинской «D» (68).
- Русская «Е» — кодом латинской «E» (69).
- Русская «Ё» — кодом латинской «E» (69) или отдельным кодом (в некоторых вариантах).
- Русская «Ж» — кодом латинской «Z» (90) с диакритическим знаком (в некоторых реализациях) или кодом отсутствующей латинской буквы.
- Русская «З» — кодом латинской «Z» (90).
- Русская «И» — кодом латинской «I» (73).
- Русская «Й» — кодом латинской «J» (74).
- Русская «К» — кодом латинской «K» (75).
- Русская «Л» — кодом латинской «L» (76).
- Русская «М» — кодом латинской «M» (77).
- Русская «Н» — кодом латинской «N» (78).
- Русская «О» — кодом латинской «O» (79).
- Русская «П» — кодом латинской «P» (80).
- Русская «Р» — кодом латинской «R» (82).
- Русская «С» — кодом латинской «S» (83).
- Русская «Т» — кодом латинской «T» (84).
- Русская «У» — кодом латинской «Y» (89).
- Русская «Ф» — кодом латинской «F» (70).
- Русская «Х» — кодом латинской «H» (72).
- Русская «Ц» — кодом латинской «C» (67).
- Русская «Ч» — кодом латинской «C» (67) с диакритическим знаком или кодом латинской «4» (52) в некоторых вариантах.
- Русская «Ш» — кодом латинской «S» (83) с диакритическим знаком или кодом латинской «W» (87).
- Русская «Щ» — кодом латинской «S» (83) с двумя диакритическими знаками или кодом латинской «W» (87) с диакритическим знаком.
- Русская «Ъ» — кодом латинской «"» (34) или кодом латинской «Q» (81).
- Русская «Ы» — кодом латинской «Y» (89) с диакритическим знаком или кодом латинской «I» (73) с диакритическим знаком.
- Русская «Ь» — кодом латинской «'» (39) или кодом латинской «X» (88).
- Русская «Э» — кодом латинской «E» (69) с диакритическим знаком или кодом латинской «J» (74) с диакритическим знаком.
- Русская «Ю» — кодом латинской «U» (85) с диакритическим знаком или кодом латинской «Q» (81) с диакритическим знаком.
- Русская «Я» — кодом латинской «R» (82) с диакритическим знаком или кодом латинской «A» (65) с диакритическим знаком.
Прописные и строчные буквы кодируются одинаково (в КОИ-7 нет различия между регистрами для кириллицы). Для латиницы регистр сохраняется.
Варианты КОИ-7
Существовало несколько модификаций КОИ-7, различающихся набором символов и способом кодирования кириллицы:
КОИ-7 (основной вариант)
Соответствует ГОСТ 13052-67. Включает 33 буквы русского алфавита (без «Ё»), латинские буквы, цифры, знаки препинания. Кириллица кодируется фонетически, как описано выше. Не содержит диакритических знаков.
КОИ-7 (расширенный вариант)
Включает букву «Ё» и некоторые дополнительные символы (например, знак номера «№»). Для кодирования «Ё» используется код латинской «E» (69) с диакритическим знаком (код 69 в некоторых реализациях). Расширенный вариант не был широко распространён.
КОИ-7 (для телетайпов)
Использовался в телетайпных сетях (например, «Телекс»). Отличался от основного варианта отсутствием некоторых символов (например, фигурных скобок, обратной косой черты) и наличием дополнительных управляющих кодов.
КОИ-7 (для ЕС ЭВМ)
Адаптирован для операционных систем ЕС ЭВМ (ОС ЕС, ДОС ЕС). Включал все символы основного варианта, а также некоторые дополнительные символы, используемые в системном программировании (например, символ «@»).
Применение
КОИ-7 широко применялась в следующих областях:
- Вычислительная техника: на советских ЭВМ (ЕС ЭВМ, СМ ЭВМ, «Минск», «Урал») для хранения и обработки текстовой информации.
- Телетайпная связь: в сетях «Телекс» и «АТ-50» для передачи сообщений.
- Системы передачи данных: в протоколах, использующих 7-битные каналы (например, X.25).
- Промышленные контроллеры: в системах автоматизации и управления технологическими процессами.
- Научные и инженерные расчёты: для ввода и вывода данных на перфоленту и перфокарты.
Ограничения и недостатки
- Отсутствие регистра: кириллические буквы не имеют различия между прописными и строчными, что затрудняет чтение текстов и нарушает правила орфографии.
- Ограниченный набор символов: 7-битное кодирование позволяет представить только 128 символов, что недостаточно для полного набора кириллицы, латиницы, цифр, знаков препинания и специальных символов. Это привело к необходимости замены некоторых латинских букв и знаков.
- Неоднозначность: разные варианты КОИ-7 использовали разные коды для одних и тех же символов, что затрудняло совместимость.
- Фонетическое кодирование: хотя принцип фонетического соответствия упрощал запоминание, он приводил к путанице при чтении текстов, особенно в смешанных (русско-латинских) текстах.
- Отсутствие поддержки национальных алфавитов: КОИ-7 не поддерживала буквы других языков народов СССР (украинского, белорусского, казахского и т.д.), что потребовало создания отдельных кодировок.
Сравнение с другими кодировками
| Характеристика | КОИ-7 | КОИ-8 | Windows-1251 | Unicode (UTF-8) |
|---|---|---|---|---|
| Разрядность | 7 бит | 8 бит | 8 бит | 8–32 бита |
| Количество символов | 128 | 256 | 256 | 1 114 112 |
| Поддержка кириллицы | Да (без регистра) | Да (с регистром) | Да (с регистром) | Да (полная) |
| Поддержка латиницы | Да | Да | Да | Да |
| Поддержка других алфавитов | Нет | Нет | Нет | Да |
| Совместимость с ASCII | Частичная | Частичная | Частичная | Полная |
| Применение | СССР (1960–1980-е) | СССР/Россия (1980–1990-е) | Россия (1990–2000-е) | Современное |
Интересные факты
- Принцип фонетического кодирования КОИ-7 привёл к появлению так называемого «транслита» — неформального способа записи русских слов латинскими буквами, который до сих пор используется в интернете и SMS-сообщениях.
- КОИ-7 была одной из первых кодировок, в которой кириллица была представлена в 7-битном формате, что позволило использовать её в международных системах связи без модернизации оборудования.
- В некоторых старых системах (например, в операционной системе RT-11 для PDP-11) КОИ-7 использовалась в качестве основной кодировки для русского языка.
- КОИ-7 не поддерживала символ «ё», что приводило к его замене на «е» в текстах. Это породило устойчивую традицию не использовать «ё» в официальных документах и компьютерных текстах в СССР.
Источники
- ГОСТ 13052-67 «Система обработки информации. Кодирование символов на перфолентах и магнитных лентах».
- К. Ю. Богатырёв, «Кодировки кириллицы: история и современность», 2005.
- В. А. Платонов, «ЭВМ и системы программирования в СССР», 1985.
- Документация по операционной системе ОС ЕС (ЕС ЭВМ), 1970-е годы.
- Материалы по истории вычислительной техники в СССР (сборник статей), 2000.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →