Статья 2340

Первыми устройствами, кодирующими текст, были карточные перфораторы и телетайпы, поэтому ранние схемы кодирования оказались привязанными к этим устройствам. Телетайп - это, по существу, пишущая машинка, преобразующая нажатия на клавиши в числовые коды, которые можно передавать с помощью электрических сигналов. Для большинства клавиш пишущей машинки установлены телетайпные коды. Они охватывают буквы, цифры и обычные знаки пунктуации, такие, как точка или запятая. Труднее, однако, ввести стандарты для таких символов. И что уж говорить о клавишах, непосредственно не связанных с печатанием символов, как, например, клавиши табулятора, возврата каретки и возврата на одну позицию.
Трудности стандартизации кодов можно проиллюстрировать на примере одной особенности системы кодирования текстов. В телетайпном коде различаются возврат каретки, перемещение каретки к началу строки без продвижения бумаги и перевод строки, сдвиг бумаги без перемещения каретки. Таким образом, конец строки отмечается сразу двумя знаками, возвратом каретки и переводом строки. Здесь хватило бы и одного кода, поэтому некоторые программы исключают или знак возврат каретки, или знак перевод строки, или же заменяют оба знака иным кодом. Проблема состоит в том, что разные программы используют разные соглашения, так что одна программа может оказаться не в состоянии прочесть текст, закодированный другой программой.
Указанные задачи становятся еще сложнее, если принять во внимание полный набор знаков - пунктуационные, математические и диакритические, такие, как умляут. Более того, сейчас текстовая обработка распространяется на такие языки, как китайский и японский, требующие тысяч идеографических знаков, а также на арабский язык и иврит, в которых текст пишется справа налево. Схемы кодирования, разработанные для английского языка, оказываются бесполезными в случае алфавитов из тысяч букв.

телетайпы

телетайпы


Следует также отметить, что схемы кодирования продолжают меняться под действием политических и экономических сил, оказывающих влияние на разработку компьютерных систем.