Вначале были точки и тире, и морзянка витала над бездною. Аналого-цифровое преобразование текста в сигнал выполнялось рукой передающего телеграфиста, обратное аналого-цифровое - ухом принимающего. Вопрос кодировки не стоял.

К 1870-м годам Эмиль Бодо переизобрёл велосипед, и пятибитная кодировка массово пошла в народ. К 1900-м годам Дональд Мюррей придумал переносить текст через перфоленту, и добавил коды переключения регистров, чтобы передавать не только буквы, но и цифры и знаки препинания.


Когда появились компьютеры, к ним быстро приспособили всё наработанное к этому времени телеграфное оборудование: телетайпы, перфораторы и прочее. Многие ранние компьютеры начинали с шестибитных байтов. К примеру, на БЭСМ-6 имена в объектных файлах была представлены в 6-битном коде TEXT. В машинном слове помещалось восемь символов, чего было вполне достаточно по тем временам.


Решение пришло из проекта Plan 9. Дадим каждому символу 32 бита, но упакуем их компактно в 8-битные байты. Получилась кодировка UTF-8, на которую в последние пятнадцать лет все и перешли.

В 32-битном пространстве можно не стесняться. Народ продолжает запихивать в Unicode всё более и более забавные символы.

5-bit
В 1830х годах в электрическом телеграфе Кука и Уитстона было применено 5-битное кодирование букв латинского алфавита посредством стрелок, поворачивавшихся под действием магнитного поля. Понятно, почему пять бит: необходимый минимум, чтобы передать 26 латинских букв.
К 1870-м годам Эмиль Бодо переизобрёл велосипед, и пятибитная кодировка массово пошла в народ. К 1900-м годам Дональд Мюррей придумал переносить текст через перфоленту, и добавил коды переключения регистров, чтобы передавать не только буквы, но и цифры и знаки препинания.
6-bit
Кодировка Мюррея была вполне компактной, но потребности росли. Народ хотел передавать не только новостные сообщения, но и газеты целиком. Большие-маленькие буквы, типографские символы, разметку текста и прочие ништяки. В 1928 году придумали и к 1950-м стали массово применять шестибитную кодировку.
Когда появились компьютеры, к ним быстро приспособили всё наработанное к этому времени телеграфное оборудование: телетайпы, перфораторы и прочее. Многие ранние компьютеры начинали с шестибитных байтов. К примеру, на БЭСМ-6 имена в объектных файлах была представлены в 6-битном коде TEXT. В машинном слове помещалось восемь символов, чего было вполне достаточно по тем временам.
7-bit
Проблема с шестью битами в том, что в них не удаётся без свистоплясок уместить минимально нужное количество символов, хотя бы от печатной машинки. В 1960-х годах получил распространение и был утверждён стандарт ASCII, ставший с тех пор "таблицей умножения" для всех компьютерщиков.8-bit
Одних латинских букв маловато будет. Большинство европейских языков, даже основанных на латинице, имеет массу других букв. Не говоря уже про кириллицу, греков, армян, грузин и прочих обособленцев. Довольно быстро возникла идея расширить семибитный ASCII другими буквами для разных языков. На настоящий момент известно несколько сотен таких кодировок.
Unicode
Довольно скоро стало понятно, что 8-битное представление символов не решает задачу. Во-первых, китайские, японские и корейские иероглифы остались за бортом. А также арабские, индийские и другие языки. Во-вторых, даже для тех кто поместился в 8 бит, встаёт проблема перекодировок. Всякая программа, даже тривиальная сортировка строк, обязана знать и уметь перекодировать все кодировки, а их количество продолжает расти.Решение пришло из проекта Plan 9. Дадим каждому символу 32 бита, но упакуем их компактно в 8-битные байты. Получилась кодировка UTF-8, на которую в последние пятнадцать лет все и перешли.

В 32-битном пространстве можно не стесняться. Народ продолжает запихивать в Unicode всё более и более забавные символы.


no subject
Date: 2021-08-30 22:35 (UTC)no subject
Date: 2021-08-30 22:40 (UTC)no subject
Date: 2021-08-30 22:45 (UTC)no subject
Date: 2021-08-30 23:01 (UTC)Забавно что первоначальная опубликованная идея электрического телеграфа 1753 года — один провод на букву, то есть по-современному one-hot encoding
no subject
Date: 2021-08-30 23:16 (UTC)https://siarchives.si.edu/blog/forgotten-history-alfred-vail-and-samuel-morse
no subject
Date: 2021-08-30 23:22 (UTC)no subject
Date: 2021-09-01 02:32 (UTC)Fuck, one-hot encoding for the telegraph! Like, like.
no subject
Date: 2021-09-01 03:42 (UTC)no subject
Date: 2021-09-01 07:40 (UTC)no subject
Date: 2021-09-01 07:41 (UTC)no subject
Date: 2021-08-30 23:09 (UTC)Прием на слух - очень позднее изобретение. Много десятилетий телеграф с каким-нибудь из морзеподобных кодов (кстати о вопросах кодировки) был ленточный.
no subject
Date: 2021-08-30 23:15 (UTC)Для автоматического приёма есть более приспособленные коды.
Морзе действительно изначально ставил бумажную ленту. Вот тут есть подробности: https://siarchives.si.edu/blog/forgotten-history-alfred-vail-and-samuel-morse
no subject
Date: 2021-08-30 23:28 (UTC)ITU ближе к Gerke, чем к Morse.
Что значит "изначально"? Прием морзянки на ленту использовался как минимум вплоть до 1920-х годов; достаточно вспомнить картины с Лениным у телеграфа.
no subject
Date: 2021-08-30 23:34 (UTC)no subject
Date: 2021-08-31 00:04 (UTC)https://www.guinnessworldrecords.com/world-records/fastest-speed-for-a-morse-code-transmission/
Интересно, в какой стране количество рекордсменов Гиннесса на душу населения самое большое? Как бы не в Беларуси.
no subject
Date: 2021-08-31 00:17 (UTC)no subject
Date: 2021-08-31 00:25 (UTC)no subject
Date: 2021-08-31 22:36 (UTC)строго говоря, он был не 5-битным: из 5 "каналов" одновременно использовались только 2, по одному из которых передавали +1, а по другому -1; и всё из-за ограничения "декодера":

(так передавали букву G)итого кодировалось максимум 5*4=20 различных знаков (зато практически не требовалось обучение персонала, в отличие той же азбуки Морзе).
я даже не знаю, как назвать такую кодировку... двухсимвольная четырех-с-половиной уровневая? QAM20?
no subject
Date: 2021-09-01 03:48 (UTC)no subject
Date: 2021-09-01 02:31 (UTC)Тема EUC и Shift-JIS не раскрыта. В Японии еще в 90-е на ЖД использовали пятибитную кодировку.
no subject
Date: 2021-09-01 03:49 (UTC)no subject
Date: 2021-09-01 15:52 (UTC)Там не совсем так - каждая стрелка - двунаправленная, код +-2 из 5
https://upload.wikimedia.org/wikipedia/commons/f/fc/Cooke_Wheatstone_Telegraph_2.jpg
26 не помещается :)
P.S.:Прошу прощения за дубль, опередили пока собрался акк на dreamwidth зарегистрировать
no subject
Date: 2021-09-02 21:29 (UTC)no subject
Date: 2021-09-01 16:57 (UTC)Какой код использовал римский император Тиберий передавая сообщения гелиографом с виллы на Капри?
no subject
Date: 2021-09-02 21:28 (UTC)no subject
Date: 2021-09-02 21:33 (UTC)Тут — серьёзная вещь: управление империей. То есть место и время известны. Жаль я не историк.