ITA2
ITA2 — это международный телеграфный код (International Telegraph Alphabet No. 2), пятибитный код (5-битная кодировка), разработанный для передачи букв, цифр и служебных символов в телетайпной связи. Он был стандартизирован Международным консультативным комитетом по телефонии и телеграфии (CCITT, ныне МСЭ-Т) в 1930-х годах и стал основой для большинства телетайпных систем XX века, а также для ранних компьютерных кодировок, таких как ASCII.
История
Предшественники
До ITA2 основным телеграфным кодом был код Морзе, который использовал неравномерные последовательности точек и тире. Для автоматизации телеграфной связи в конце XIX века начали разрабатываться механические системы, требовавшие равномерного кодирования символов. Первым коммерчески успешным пятибитным кодом стал код Бодо (Baudot), созданный французским инженером Эмилем Бодо в 1870 году. Он использовал 5 бит на символ, что позволяло передавать 32 различных знака. Однако код Бодо имел существенный недостаток: он был нестандартизированным, и разные страны и компании использовали собственные модификации.
Разработка и стандартизация
В 1920-х годах Международный консультативный комитет по телефонии и телеграфии (CCITT) начал работу по унификации телеграфных кодов. В 1931 году был принят стандарт International Telegraph Alphabet No. 2 (ITA2), который базировался на коде Бодо, но с изменениями для обеспечения совместимости между разными системами. ITA2 был официально рекомендован к использованию в 1932 году на конференции CCITT в Мадриде. В СССР и России этот код применялся в телетайпной сети под названием «МТК-2» (международный телеграфный код № 2).
Распространение
ITA2 стал доминирующим кодом для телетайпной связи в середине XX века. Он использовался в телеграфных сетях, военных системах связи, а также в ранних компьютерных терминалах. С появлением ASCII (1963 год) и последующих стандартов (например, UTF-8) ITA2 постепенно вытеснялся, но оставался в эксплуатации в некоторых телеграфных системах до 1990-х годов. В России телетайпная связь на основе МТК-2 использовалась до начала 2000-х годов, в частности, в системе «Атлас» для передачи данных в государственных структурах.
Структура и принцип кодирования
Пятибитный код
ITA2 использует 5 бит для представления одного символа. Теоретически 5 бит позволяют закодировать 2^5 = 32 различных значения. Однако для передачи полного набора букв (латиница или кириллица), цифр и знаков препинания этого недостаточно. Поэтому ITA2 применяет механизм переключения регистров (shift):
- Буквенный регистр (LTRS, letters shift) — кодирует буквы (латинские A–Z, в русской версии — А–Я).
- Цифровой регистр (FIGS, figures shift) — кодирует цифры (0–9) и знаки препинания (., !, ?, и т.д.).
- Служебные символы — такие как «возврат каретки» (CR), «перевод строки» (LF), «звонок» (BEL), «пробел» (SP) и другие.
При передаче данных перед группой символов отправляется управляющий код, который переключает регистр. Например, код 11011 (в двоичной записи) означает «буквенный регистр», а код 11010 — «цифровой регистр». После переключения все последующие символы интерпретируются в соответствии с активным регистром до следующей команды переключения.
Таблица кодов ITA2 (латинский вариант)
Ниже приведена стандартная таблица кодов ITA2 для латинского алфавита (без учета национальных модификаций). Коды представлены в двоичном виде (биты от старшего к младшему, порядок — от 1 до 5, где 1 — младший бит).
| Двоичный код | Буквенный регистр | Цифровой регистр |
|---|---|---|
| 00000 | NULL (пустой) | NULL |
| 00001 | E | 3 |
| 00010 | LF (перевод строки) | LF |
| 00011 | A | - |
| 00100 | SP (пробел) | SP |
| 00101 | S | ' |
| 00110 | I | 8 |
| 00111 | U | 7 |
| 01000 | CR (возврат каретки) | CR |
| 01001 | D | $ (или знак валюты) |
| 01010 | R | 4 |
| 01011 | J | ' (апостроф) |
| 01100 | N | , |
| 01101 | F | ! |
| 01110 | C | : |
| 01111 | K | ( |
| 10000 | T | 5 |
| 10001 | Z | + |
| 10010 | L | ) |
| 10011 | W | 2 |
| 10100 | H | # |
| 10101 | Y | 6 |
| 10110 | P | 0 |
| 10111 | Q | 1 |
| 11000 | O | 9 |
| 11001 | B | ? |
| 11010 | FIGS (цифровой регистр) | FIGS |
| 11011 | LTRS (буквенный регистр) | LTRS |
| 11100 | M | . |
| 11101 | X | / |
| 11110 | V | = |
| 11111 | G | @ |
Примечание: В разных национальных версиях ITA2 (например, русской, немецкой, французской) таблица могла отличаться. В русской версии (МТК-2) буквенный регистр содержал кириллические символы, а цифровой — те же цифры и знаки, но с возможностью переключения на латиницу.
Особенности и ограничения
Ограниченный набор символов
Из-за 5-битной структуры ITA2 мог одновременно передавать только 32 символа (с учётом регистров — до 64, но с переключением). Это приводило к отсутствию строчных букв (все буквы передавались заглавными), а также к невозможности передавать многие специальные символы (например, скобки, кавычки, тире) без дополнительных соглашений.
Скорость передачи
ITA2 был оптимизирован для низкоскоростных каналов связи (обычно 45–75 бод, что соответствует примерно 60–100 символам в минуту). Это было достаточно для телеграфной связи, но крайне медленно для компьютерных систем.
Синхронизация
Для передачи данных ITA2 использовал старт-стопную синхронизацию: каждый символ начинался со стартового бита (обычно 0) и заканчивался стоповым битом (обычно 1). Это обеспечивало надёжную синхронизацию приёмника и передатчика, но увеличивало избыточность (на 5 бит данных приходилось 2 служебных бита).
Применение
Телетайпная связь
Основное применение ITA2 — телетайпы (телеграфные аппараты с клавиатурой и печатающим устройством). Телетайпы использовались в телеграфных сетях, банковских системах, военной связи, а также в системах передачи новостей (например, агентства Reuters и ТАСС). В СССР телетайпы на основе МТК-2 работали в сети «Атлас» и других государственных системах.
Ранние компьютерные системы
До появления ASCII (1963 год) ITA2 был распространён в компьютерных терминалах и телетайпных устройствах, подключаемых к компьютерам. Например, телетайп ASR-33 (США) и его аналоги в Европе использовали ITA2. В 1960-х годах ITA2 применялся в системах разделения времени (time-sharing) для ввода-вывода данных.
Военные и специальные системы
ITA2 использовался в военных системах связи, например, в шифровальных машинах (вроде «Энигмы» и её аналогов), а также в системах передачи данных с низкой пропускной способностью. В России до сих пор существуют резервные телеграфные линии, работающие на основе МТК-2.
Влияние на последующие кодировки
ITA2 оказал прямое влияние на разработку ASCII. Многие коды ASCII (например, для цифр и букв) были заимствованы из ITA2 с минимальными изменениями. Например, код буквы «A» в ITA2 — 00011, в ASCII — 1000001 (с добавлением старшего бита). Кроме того, принцип переключения регистров (shift) был использован в более поздних кодировках, таких как EBCDIC и даже в некоторых аспектах Unicode (например, управляющие символы).
Интересные факты
- В ITA2 код 00000 (NULL) использовался как «пустой» символ, который игнорировался приёмником. Это было необходимо для синхронизации в некоторых системах.
- В русской версии МТК-2 буквенный регистр содержал 32 символа кириллицы (включая букву «Ё», которая кодировалась отдельно), а цифровой регистр — цифры, знаки препинания и латинские буквы для передачи иностранных текстов.
- ITA2 был настолько распространён, что его часто называли просто «код Бодо», хотя исторически это разные коды. В профессиональной среде различие между ними хорошо известно.
- В 1970-х годах ITA2 использовался в системе «Телекс» (Telex) — международной сети телетайпной связи, которая работала до 2000-х годов.
Источники
- Международный стандарт ITU-T (CCITT) Recommendation S.2 — «International Telegraph Alphabet No. 2».
- Книга: «Телеграфная связь» под редакцией А. И. Гусева, 1975.
- Статья: «Коды Бодо и ITA2» в журнале «Радио», 1968, № 4.
- Документация по системе «Атлас» (ВНИИ «Эталон», 1980-е годы).
- Материалы музея связи (Санкт-Петербург, экспозиция телетайпов).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →