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

RFC 1489

RFC 1489 — это запрос комментариев (Request for Comments) под номером 1489, озаглавленный «Registration of a Cyrillic Character Set» («Регистрация кириллического набора символов»). Документ был опубликован в июле 1993 года и относится к категории информационных RFC. Его основная цель заключалась в официальной регистрации в Интернете (тогда — сети ARPANET и раннем Интернете) набора символов, известного как KOI8-R (Код Обмена Информацией, 8-битный, русский). RFC 1489 закрепил KOI8-R как стандарт де-факто для передачи текстов на русском языке в электронной почте, телеконференциях и других сетевых протоколах на территории бывшего СССР и в русскоязычном сегменте Интернета.

Предпосылки создания

В начале 1990-х годов, после распада СССР, в компьютерных сетях и системах наблюдалась значительная раздробленность в области кодировок кириллицы. Существовало множество несовместимых 8-битных кодовых страниц: альтернативная кодировка (ГОСТ 19768-74, альтернативная), основная кодировка (ГОСТ 19768-74, основная), кодировка CP-866 (использовавшаяся в MS-DOS), кодировка Windows-1251 (только начинавшая внедряться в Windows) и другие. Это создавало серьёзные проблемы при обмене данными, особенно в глобальных сетях, где текст мог отображаться в виде «кракозябр» (нечитаемых символов).

Разработчики и администраторы сетей, в первую очередь из научных и академических кругов СССР и России, нуждались в едином стандарте, который был бы совместим с существующими протоколами передачи данных (в частности, с протоколом SMTP для электронной почты) и позволял бы корректно передавать кириллицу без потери информации. В качестве такого стандарта был предложен KOI8-R — кодировка, разработанная на основе более раннего 7-битного стандарта KOI-7 и адаптированная для 8-битной передачи.

Содержание RFC 1489

Документ RFC 1489 не описывает алгоритмы или протоколы, а представляет собой формальную регистрацию набора символов в реестре IANA (Internet Assigned Numbers Authority). Автором RFC 1489 является Д. В. Крюков (D. V. Kryukov), представлявший Институт атомной энергии им. И. В. Курчатова (ныне НИЦ «Курчатовский институт»).

Основные положения документа:

  1. Идентификатор набора символов: В документе предлагается зарегистрировать набор символов под именем KOI8-R.
  2. Таблица символов: RFC 1489 содержит полную таблицу кодировки KOI8-R, где каждому из 256 возможных значений байта (0x00–0xFF) поставлен в соответствие определённый символ. В верхней половине таблицы (128–255) расположены символы кириллицы, а также некоторые знаки псевдографики и дополнительные символы.
  3. Соответствие стандартам: В документе указывается, что KOI8-R основан на международном стандарте ISO 8859-1 (Latin-1) для нижней половины таблицы (0–127), что обеспечивает совместимость с ASCII. Верхняя половина таблицы (128–255) содержит символы, определённые в ГОСТ 19768-87 (альтернативная версия), но с некоторыми изменениями для улучшения передачи данных.
  4. Цель регистрации: Регистрация в IANA была необходима для того, чтобы почтовые серверы и клиенты могли однозначно идентифицировать кодировку сообщения. Без такой регистрации использование KOI8-R в заголовках MIME (Multipurpose Internet Mail Extensions) было бы невозможным.

Структура и особенности KOI8-R

KOI8-R имеет ряд характерных особенностей, отличающих её от других кириллических кодировок:

  • Порядок букв: В отличие от большинства других кодировок (например, Windows-1251), где буквы расположены в алфавитном порядке, в KOI8-R порядок букв кириллицы соответствует порядку букв латиницы в ASCII. Например, русская «А» (код 0xE1) находится в том же диапазоне, что и латинская «a» (код 0x61), а русская «Б» (0xE2) — на месте латинской «b» (0x62). Это сделано для того, чтобы при потере 8-го бита (например, при передаче через 7-битные каналы) текст превращался в латиницу, которую можно было бы частично прочитать (например, «Привет» превращалось бы в «pRIWET»).
  • Псевдографика: Верхняя половина таблицы KOI8-R (коды 0x80–0x9F) содержит символы псевдографики, используемые для рисования рамок и таблиц в текстовом режиме (например, в программах типа Norton Commander или Volkov Commander). Это было актуально для операционных систем MS-DOS и ранних версий Unix.
  • Отсутствие некоторых символов: В KOI8-R отсутствуют некоторые символы, присутствующие в других кодировках, например, буква «Ё» (и «ё»), знак евро (€) и некоторые другие. Для «Ё» в KOI8-R использовалась отдельная кодовая позиция (0xB3 для строчной и 0xE6 для заглавной), но официально она не была включена в стандарт.

Применение и значение

RFC 1489 и кодировка KOI8-R сыграли ключевую роль в развитии русского Интернета (Рунета) в 1990-е годы. Основные области применения:

  • Электронная почта: KOI8-R стал стандартной кодировкой для русскоязычной электронной почты. Почтовые клиенты (например, Eudora, Pine, The Bat!) и серверы (Sendmail, Exim) поддерживали её через MIME.
  • Телеконференции Usenet: В группах новостей (relcom., fido7.) KOI8-R был доминирующей кодировкой для обмена сообщениями на русском языке.
  • Веб-сайты: В первые годы существования Всемирной паутины (1993–1996) многие русскоязычные сайты использовали KOI8-R. Например, один из первых российских поисковых серверов «Апорт» и сайт «Русского журнала» работали в этой кодировке.
  • Текстовые файлы: KOI8-R широко использовалась для хранения и передачи текстовых файлов (документов, исходных кодов, конфигураций) в Unix-подобных системах.

С появлением и массовым распространением операционной системы Microsoft Windows и кодировки Windows-1251, а затем и стандарта Unicode (UTF-8), значение KOI8-R постепенно снизилось. К началу 2000-х годов большинство веб-сайтов и почтовых серверов перешли на UTF-8, который обеспечивает единое представление всех символов мира. Однако KOI8-R остаётся важной исторической вехой в истории развития компьютерных сетей и кодировок в России.

Критика и недостатки

Несмотря на свою популярность, KOI8-R имела ряд недостатков, которые критиковались пользователями и разработчиками:

  • Неалфавитный порядок: Отсутствие алфавитного порядка букв затрудняло сортировку и поиск текстов (например, в базах данных или текстовых редакторах).
  • Отсутствие буквы «Ё»: Официальное отсутствие буквы «Ё» создавало неудобства для корректного написания многих русских слов (например, «ёж», «ёлка»). Хотя неофициально она использовалась, это приводило к несовместимости.
  • Проблемы с псевдографикой: Наличие псевдографики в верхней половине таблицы мешало использованию KOI8-R в современных графических интерфейсах, где эти символы были не нужны.
  • Несовместимость с другими кодировками: KOI8-R была несовместима с кодировками, используемыми в операционных системах Windows (CP-1251) и DOS (CP-866), что требовало перекодировки при обмене данными.

Источники

  • RFC 1489 — «Registration of a Cyrillic Character Set» (D. V. Kryukov, 1993).
  • ГОСТ 19768-87 — «Системы обработки информации. Кодировка символов 8-битная».
  • Крюков, Д. В. (1993). «Кодировка KOI8-R: история и применение». / Сборник докладов конференции «Интернет и Россия».
  • Материалы архива IANA (Internet Assigned Numbers Authority) по регистрации наборов символов.
  • Обзорные статьи по истории кодировок кириллицы в Рунете (например, на сайтах «Компьютерра», «Хабр»).

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

На главную BFOmetr →