Код Бодо ( французское произношение: [bodo] ) — ранняя кодировка символов для телеграфии , изобретенная Эмилем Бодо в 1870-х годах. [1] Это был предшественник Международного телеграфного алфавита № 2 (ITA2), наиболее распространенного кода телетайпа , использовавшегося до ASCII . Каждый символ алфавита представлен серией из пяти битов , передаваемых по каналу связи , такому как телеграфный провод или радиосигнал, посредством асинхронной последовательной связи . Измерение скорости передачи символов известно как бод и происходит от того же названия.
В таблице ниже в столбцах I, II, III, IV и V указан код; Пусть. В столбцах рис. показаны буквы и цифры для континентальной и британской версий; а ключи сортировки представляют таблицу в следующем порядке: в алфавитном порядке, серый и Великобритания.
Бодо разработал свой первый мультиплексированный телеграф в 1872 году [2] [3] и запатентовал его в 1874 году. [3] [4] В 1876 году он перешел с шестибитного кода на пятибитный код, [3] как было предложено Карл Фридрих Гаусс и Вильгельм Вебер в 1834 году [2] [5] с равными интервалами включения и выключения, что позволяло передавать латинский алфавит, а также включало знаки препинания и управляющие сигналы. Сам код не был запатентован (только машина), поскольку французское патентное законодательство не позволяет патентовать концепции. [6]
5-битный код Бодо был адаптирован для отправки с ручной клавиатуры, и никогда не было создано телетайпное оборудование, которое использовало бы его в его первоначальной форме. [7] Код вводился на клавиатуре, которая имела всего пять клавиш фортепианного типа и управлялась двумя пальцами левой руки и тремя пальцами правой руки. После нажатия клавиш они блокировались до тех пор, пока механические контакты в распределительном блоке не проходили над сектором, подключенным к этой конкретной клавиатуре, после чего клавиатура разблокировалась, готовая к вводу следующего символа, со слышимым щелчком (известный как «сигнал частоты вращения педалей») для предупреждения оператора. Операторам приходилось поддерживать постоянный ритм, а обычная скорость работы составляла 30 слов в минуту. [8]
В таблице «показано распределение кода Бодо, который использовался в почтовом отделении Великобритании для континентальных и внутренних перевозок. Ряд символов в континентальном коде заменяется дробными знаками во внутреннем коде. Передаются элементы кода 1, 2 и 3. клавишами 1, 2 и 3, и ими управляют первые три пальца правой руки. Элементы кода 4 и 5 передаются клавишами 4 и 5, и ими управляют первые два пальца левой руки». [7] [9] [10]
Код Бодо стал известен как Международный телеграфный алфавит № 1 ( ITA1 ). Он больше не используется.
В 1901 году код Бодо был изменен Дональдом Мюрреем (1865–1945), вызванным разработкой им клавиатуры, похожей на пишущую машинку. Система Мюррея использовала промежуточный этап; клавиатурный перфоратор, позволяющий оператору перфорировать бумажную ленту, и магнитофон для передачи сообщения с перфоленты . На принимающем конце линии печатающий механизм будет печатать на бумажной ленте и/или может использоваться реперфоратор для изготовления перфорированной копии сообщения. [11] Поскольку больше не было связи между движением руки оператора и передаваемыми битами, не было беспокойства по поводу организации кода, чтобы минимизировать утомляемость оператора, и вместо этого Мюррей разработал код, чтобы минимизировать износ оборудования, назначив кодовые комбинации с наименьшим количеством дырочек для наиболее часто используемых символов . [12] [13]
Например, буквы с одним отверстием — это E и T. Десять букв с двумя отверстиями — это AOINSHRDLZ, очень похожие на порядок « Etaoin shrdlu », используемый в линотипах . Еще десять букв, BCGFJMPUWY, имеют по три отверстия каждая, а буквы с четырьмя отверстиями — VXKQ.
Код Мюррея также представил так называемые «эффекторы формата» или « управляющие символы » — коды CR (возврат каретки) и LF (перевод строки). Некоторые из кодов Бодо переместились на позиции, где они и остаются с тех пор: NULL или BLANK и код DEL. NULL/BLANK использовался в качестве кода ожидания, когда сообщения не отправлялись, но тот же код использовался для кодирования пространственного разделения между словами. Последовательности кодов DEL (полностью перфорированные столбцы) использовались в начале или конце сообщений или между ними, что позволяло легко разделять отдельные сообщения. (В эти последовательности могут быть вставлены коды BELL, чтобы сигнализировать удаленному оператору о поступлении нового сообщения или о прекращении передачи сообщения).
Ранние машины British Creed также использовали систему Мюррея.
Код Мюррея был принят Western Union , которая использовала его до 1950-х годов, с некоторыми изменениями, заключавшимися в исключении некоторых символов и добавлении дополнительных управляющих кодов. Вместо BLANK/NULL был введен явный символ SPC (пробел), а новый код BEL вызывал звонок или иным образом производил звуковой сигнал на приемнике. Кроме того, WRU или «Кто ты?» был введен код, который заставлял принимающую машину отправлять идентификационный поток обратно отправителю.
В 1924 году CCITT представила код Международного телеграфного алфавита № 2 ( ITA2 ) [14] в качестве международного стандарта, который был основан на коде Western Union с некоторыми незначительными изменениями. В США стандартизирована версия ITA2, называемая Американским кодом телетайпа (US TTY), которая была основой для 5-битных кодов телетайпа до появления 7-битного ASCII в 1963 году. [15]
Некоторые кодовые точки (отмечены синим цветом в таблице) были зарезервированы для использования в конкретной стране. [16]
Позиция кода, присвоенная Null, фактически использовалась только для состояния ожидания телетайпов. В течение длительных периодов простоя частота импульсов не синхронизировалась между обоими устройствами (которые могли быть даже отключены или не подключены постоянно к коммутируемым телефонным линиям). Чтобы начать сообщение, сначала необходимо было откалибровать частоту импульсов, последовательность регулярно синхронизированных «маркирующих» импульсов (1), с помощью группы из пяти импульсов, которые также можно было обнаружить с помощью простых пассивных электронных устройств для включения телетайпа. Эта последовательность импульсов генерировала серию символов стирания/удаления, а также инициализировала состояние приемника в режим сдвига букв. Однако первый импульс может быть потерян, поэтому процедура включения может быть прервана одним нулевым сигналом, за которым сразу же следует символ стирания/удаления. Чтобы сохранить синхронизацию между устройствами, нулевой код нельзя было произвольно использовать в середине сообщений (это было улучшением исходной системы Бодо, в которой пробелы не были явно дифференцированы, поэтому было сложно поддерживать счетчики импульсов для повторяющихся пробелов на телетайпы). Но тогда можно было повторно синхронизировать устройства в любое время, отправив Null в середине сообщения (сразу за которым следовал элемент управления Erasure/Delete/LS, если за ним следовала буква, или элемент управления FS, если за ним следовала цифра). Отправка нулевых элементов управления также не приводила к перемещению бумажной ленты к следующему ряду (поскольку ничего не было перфорировано), поэтому это экономило драгоценные отрезки перфорируемой бумажной ленты. С другой стороны, управляющий код Erasure/Delete/LS всегда пробивался и всегда переводился в режим (начальных) букв. Согласно некоторым источникам, нулевой код был зарезервирован только для использования внутри страны. [16]
Код Shift to Letters (LS) также можно использовать как способ отмены/удаления текста с перфоленты после его прочтения, что позволяет безопасно уничтожить сообщение перед выбросом перфоленты. [ необходимо разъяснение ] Функционально он также может играть ту же роль-наполнитель, что и код удаления в ASCII (или других 7-битных и 8-битных кодировках, включая EBCDIC для перфокарт). После замены кодов во фрагменте текста произвольным количеством LS-кодов последующее все еще сохраняется и декодируется. Его также можно использовать в качестве инициатора, чтобы убедиться, что декодирование первого кода не выдаст цифру или другой символ со страницы рисунков (поскольку нулевой код может быть произвольно вставлен в конце или начале перфорационной полосы, и следует игнорировать, тогда как код пробела имеет значение в тексте).
Ячейки, помеченные как зарезервированные для расширений (которые снова используют код LS во второй раз — сразу после первого кода LS — для перехода со страницы с цифрами на страницу со сдвигом букв), были определены для перехода в новый режим. В этом новом режиме страница букв содержит только строчные буквы, но сохраняет доступ к третьей кодовой странице для прописных букв либо путем кодирования одной буквы (путем отправки LS перед этой буквой), либо блокировки (с помощью FS+LS) для неограниченное количество заглавных букв или цифр перед последующей разблокировкой (с помощью одного LS) для возврата в нижний регистр. [18] Ячейку, помеченную как «Зарезервировано», также можно использовать (с использованием кода FS со страницы смены цифр) для переключения страницы с цифрами (которая обычно содержит цифры и национальные строчные буквы или символы) на четвертую страницу (где национальные буквы имеют верхний регистр, и могут быть закодированы другие символы).
ITA2 до сих пор используется в телекоммуникационных устройствах для глухих (TDD), телексе и некоторых любительских радиоприложениях , таких как радиотелетайп («RTTY»). ITA2 также используется в Enhanced Broadcast Solution, финансовом протоколе начала 21-го века, разработанном Deutsche Börse , для уменьшения объема кодирования символов. [19]
Почти все телетайпное оборудование 20-го века использовало код Western Union, ITA2 или его варианты. Радиолюбители случайно называют ITA2 и его варианты «Бодо» неправильно, [20] и даже в Справочнике любительского радио Американской лиги радиорелейной связи это делается, хотя в более поздних изданиях таблицы кодов правильно идентифицируют его как ITA2.
Значения, показанные в каждой ячейке, представляют собой коды Юникода , данные для сравнения.
Метеорологи использовали вариант ITA2 с цифрами-регистровыми символами, за исключением десяти цифр, BEL и нескольких других символов, замененных символами погоды:
Примечание. В этой таблице предполагается, что пространство, названное Бодо и Мюрреем «1», является самым правым и наименее значимым. Способ упаковки передаваемых битов в более крупные коды варьировался в зависимости от производителя. Наиболее распространенное решение распределяет биты от младшего к старшему (оставляя три старших бита байта неиспользованными).
В ITA2 символы выражаются пятью битами. ITA2 использует два поднабора кода: «сдвиг букв» (LTRS) и «сдвиг цифр» (FIGS). Символ Figs (11011) сигнализирует о том, что следующие символы следует интерпретировать как находящиеся в наборе Figs, пока он не будет сброшен символом LTRS (11111). При использовании клавиша переключения LTRS или Figs нажимается и отпускается, передавая соответствующий символ переключения на другую машину. Затем вводятся нужные буквы или цифры. В отличие от пишущей машинки или современной компьютерной клавиатуры, клавиша Shift не удерживается нажатой во время набора соответствующих символов. «ENQuiry» вызовет ответ другого компьютера. Это означает «Кто ты?»
CR — возврат каретки , LF — перевод строки , BEL — символ звонка , который звонит маленькому звонку (часто используется для оповещения операторов о входящем сообщении), SP — пробел, а NUL — нулевой символ (пустая лента).
Примечание: двоичные преобразования кодовых точек часто отображаются в обратном порядке, в зависимости от (предположительно), с какой стороны смотреть на бумажную ленту. Далее отметим, что «управляющие» символы были выбраны так, чтобы они были либо симметричными, либо в полезных парах, чтобы вставка ленты «вверх ногами» не приводила к проблемам для оборудования и полученную распечатку можно было расшифровать. Таким образом, Figs (11011), LTRS (11111) и пробел (00100) являются инвариантными, тогда как CR (00010) и LF (01000), обычно используемые как пара, обрабатываются одинаково независимо от порядка страниц в принтерах. [22] LTRS также можно использовать для перфорации символов, подлежащих удалению на бумажной ленте (так же, как DEL в 7-битном ASCII ).
Последовательность RYRYRY... часто используется в тестовых сообщениях и в начале каждой передачи. Поскольку R равен 01010, а Y равен 10101, эта последовательность подвергает большую часть механических компонентов телетайпа максимальной нагрузке. Также в свое время производилась доводка приемника с помощью двух цветных фонарей (по одному на каждый тон). «RYRYRY...» произвело 0101010101..., что заставило свет светиться одинаковой яркостью, если настройка была правильной. Эта последовательность настройки полезна только тогда, когда ITA2 используется с двухтональной модуляцией FSK , что обычно наблюдается при использовании радиотелетайпа (RTTY).
Реализации кода Бодо в США могут отличаться добавлением нескольких символов, таких как # и, на уровне FigS.
Русская версия кода Бодо ( МТК-2 ) использовала три режима переключения; режим кириллических букв активировался символом (00000). Из-за большего количества символов кириллицы символы ! , & , £ были опущены и заменены кириллицей, а BEL имеет тот же код, что и кириллическая буква Ю. Кириллические буквы Ъ и Ё опускаются, а Ч объединяется с цифрой 4.
*
квитанционных принтерах». [21] [...] В 1872 году [Бодо] начал исследования телеграфной системы, которая позволила бы нескольким операторам одновременно передавать данные по одному проводу и по мере получения передач печатать их обычными буквенными символами на полоске бумаги.
Он получил патент на такую систему 17 июня 1874 года. [...] Вместо переменной задержки, за которой следует единичный импульс, система Бодо использовала одинаковые шесть единиц времени для передачи каждого символа.
[...] его ранний телеграф, вероятно, использовал шестизначный код, [...] который он приписывает
Дэви
в статье 1877 года.
[...] в 1876 году Бодо перепроектировал свое оборудование, чтобы использовать пятизначный код.
Однако иногда знаки препинания и цифры по-прежнему были необходимы, поэтому он перенял от
Хьюза
использование двух специальных символов буквенного и цифрового пространства, которые заставляли принтер переключаться между регистрами одновременно с продвижением бумаги без печати.
Пятизначный код, который он начал использовать в это время, [...] был структурирован так, чтобы соответствовать его клавиатуре [...], которая управляла двумя единицами каждого символа с помощью переключателей, управляемых левой рукой, а остальные три единицы - правой. рука.
[...][1][2]
Я распределил наиболее часто используемые буквы английского языка по сигналам, представленным наименьшим количеством отверстий в перфорированной ленте, и так далее пропорционально.
В передаваемом коде используется Международный телеграфный алфавит № 2 (ITA-2), который был введен CCITT в 1924 году.
{{cite book}}
: |work=
игнорируется ( помощь )[...] символы, относящиеся к «управлению передачей», [...] побитово симметричны – коды для Figs, LTRS, пробела и BLANK – одинаковы, перевернуты слева направо!
Кроме того, коды CR и LF равны друг другу при перестановке слева направо!