Символьное кодирование
Вы, конечно, помните о том, что информатика — наука о получении, преобразовании, хранении и передаче информации.
Многие африканские племена до сих пор используют специальные барабаны — тамтамы, обмениваясь сообщениями со скоростью звука. На Руси, где леса гасят звук, применяли другой метод: для передачи срочных сообщений использовался дым костров. |
Ведь ни один гонец с пограничной заставы не успел бы вовремя предупредить горожан о набеге кочевников — их кони были не менее быстрыми. До сих пор на флоте используется семафорная азбука, когда каждой букве соответствует определенное положение рук сигнальщика, подчеркиваемое флажками.
Но удары барабана, столбы дыма, поднятые вверх руки — это вовсе не то же самое, что звуки человеческой речи или знакомые с первого класса буквы. Однако, подумав, можно обнаружить между ними много общего. Фактически речь идет о том, что каждое такое сообщение, несущее нам информацию, представляет собой последовательность сигналов. А для того чтобы сообщение было не только принято, но и понято, нужно предварительно договориться, что означают, например, два дыма, или последовательность из трех быстрых ударов, или разведенные в стороны руки.
Итак, кроме самого сообщения и физического способа его передачи, появился еще один компонент — кодирование. По мере развития цивилизации появлялись новые возможности передачи сообщений, а значит, и новые способы кодирования. Мы остановимся только на одном из них.
Майкл Фарадей в 1831 г. сделал открытие, буквально перевернувшее наш мир: он изобрел способ получения электрического тока. И чуть ли не сразу же
электрический ток был использован для передачи сообщений — американский изобретатель Сэмюэл Морзе создает и широко внедряет в практику телеграфные аппараты и линии связи. В какой-то степени Морзе пришлось решать проблему, аналогичную проблеме передачи сообщений по африканскому барабанному телеграфу. И электрический ток, и барабан имеют весьма небогатые выразительные возможности. По барабану можно либо стучать, либо нет. Электрический ток или идет, или нет. Поэтому и кодировка, предложенная Морзе, использовала всего три своеобразные буквы: длинный сигнал (тире), короткий сигнал (точка), нет сигнала (пауза) — для разделения букв.
Код Морзе вот уже полтора века служит человечеству. Он до сих пор используется на радиостанциях, потому что его сигналы пробиваются сквозь такие атмосферные помехи, которые глушат любую членораздельную речь.
С течением времени телеграф превратился в массовое средство передачи сообщений, доступное (в принципе) любому желающему, но все же достаточно дорогое. Требовался хорошо обученный оператор, виртуозно владеющий специальным ключом, замыкающим и размыкающим электрическую цепь. И тем не менее его скорость передачи сообщений не шла ни в какое сравнение со скоростью работы машинисток, набивающих текст с помощью клавиатуры, — ведь, чтобы передать одну букву, скажем О, надо трижды нажать на ключ, а машинистке достаточно один раз ударить по клавише.
Вот бы совместить пишущую машинку с телеграфным аппаратом! Но для этого нужно автоматизировать процесс кодирования-декодирования информации. Автоматизировать — это значит создать такое устройство, которое бы выполняло работу без вмешательства человека. В данном случае речь идет об устройстве, превращающем буквы человеческого алфавита в последовательности точек и тире. К сожалению, все попытки сделать машину, понимающую код Морзе, были безуспешными. Предложенные варианты оказывались излишне громоздкими, ненадежными и дорогими.
Конечно, техника начала века была еще не столь совершенна, как сейчас, но свою роль сыграло и то, что сам по себе код Морзе был весьма сложен для распознавания его автоматами. Более удачный код был предложен немецким изобретателем Бодо. Во-первых, в нем использовалось только два сигнала (например, точка и тире без паузы), а во-вторых, чтобы не возникала проблема отделения одной буквы от другой, все буквы кодировались последовательностью сигналов одинаковой длины. Аппараты Бодо были просты в производстве и надежны. С их помощью удалось сделать телеграф на самом деле массовым средством передачи срочных сообщений.
Давайте теперь встанем на место Бодо и подумаем, сколько же нужно сигналов, чтобы закодировать все буквы. Для удобства записи будем обозначать сигнал одного типа нулем (0), а другого типа единицей (1). Конечно, можно было бы договориться обозначать сигналы и какими-нибудь другими знаками, например | и |, но, как вы позже увидите, это менее удобно.
Итак, последовательностью из одного сигнала можно закодировать всего две буквы.
Если бы наш язык состоял лишь из этих двух букв, нам бы этого и хватило. Но в русском языке букв несколько больше. Поэтому продолжим рассуждения.
Последовательностью из двух сигналов можно закодировать уже четыре буквы. Это получше, но и с помощью этих букв тоже много не скажешь.
Трехсигнальной последовательностью можно закодировать уже восемь букв. Это еще лучше. Можно, например, спросить «ГДЕВАЗА» или сообщить, что «ДЕДВЁЗЕЖА». Но хочется большего.
Думается, вы уже догадались, что с помощью последовательности из четырех сигналов можно закодировать шестнадцать букв, а пятисигнальной — тридцать две.
Возьмите какую-нибудь телеграмму. Вы увидите, что в ней все буквы только прописные. А вместо точек и запятых стоят слова ТЧК и ЗПТ. Поэтому, хотя пятисигнальных последовательностей достаточно, чтобы изъясняться на русском языке, мы продолжим ее наращивание.
С помощью последовательности из шести знаков (нулей и единиц) можно закодировать уже 64 символа. Но если хотеть, чтобы в сообщении были прописные и строчные буквы, а также цифры, этого недостаточно.
На числе «семь» можно остановиться. Этого хватает для того, чтобы закодировать сообщения на хорошем русском языке. Именно таков отечественный код КОИ-7. Сокращение КОИ родилось из первых букв словосочетания «код обмена информацией».
Чтобы не употреблять длинный оборот «последовательность из стольких-то знаков, каждый из которых нуль или единица», люди договорились появление одного такого знака в последовательности называть словом бит (от английского В1пагу сН§1Т — двоичная цифра). Теперь можно сказать, что последовательность из шести нулей или единиц— это шестибитная последовательность, а КОИ-7 — это семибитное кодирование русскоязычных сообщений.
Теперь, наверно, уже не покажется совершенно неожиданным следующее заявление:
Всю информацию, циркулирующую внутри компьютера, можно рассматривать как сплошной поток всего лишь из двух символов: О (нуля) и 1 (единицы).
Каким образом при этом компьютер ухитряется обрабатывать и текст, и рисунки, вы узнаете из следующих параграфов.
В большинстве первых компьютеров использовался именно семибитный код. Однако с развитием техники это стало довольно неудобно. Новый код был уже восьмибитным и основывался на американском стандартном коде информационного обмена (ASCII — American STANDARD Code). В частности, именно благодаря восьмибитному кодированию мы безо всяких проблем используем в тексте прописные и строчные буквы и русского, и латинского алфавитов, знаки препинания, цифры, специальные символы вроде № и конечно же пробел. Это очень важный символ — ведь безнегочитатьтекстпростопротивно.
Последовательность восьми бит договорились называть словом байт. Вот и получается, что один символ занимает в памяти компьютера ровно один байт.
Но и один байт окажется маловат, если требуется оценить, сколько места в памяти Конечно, в современном мире, опутанном компьютерными сетями, даже восьмибитного кодирования недостаточно: есть же арабский алфавит, два японских, хинди, математическая символика и т. д. Поэтому не так давно был предложен новый стандарт символьного кодирования UNICODE, где каждый символ кодируется уже двумя байтами.
Прежде всего отметим, что в электронных вычислительных машинах — будь то компьютер или его младший родственник калькулятор — используется двоичная система счисления. |
Выбор двоичной системы объясняется тем, что имеющиеся в этой системе всего две цифры легко «зашифровать» при помощи каких-нибудь технических средств, например электрического тока или светового луча. Цифра 0 двоичной системы счисления может означать, что ток (луч) не проходит, а цифра 1 — что ток (луч) проходит. При таком представлении цифр действия над числами производятся подходящими комбинациями включений и выключений тока или света. Поэтому любую электронную вычислительную машину можно представить себе как совокупность соединенных между собой выключателей тока (или света). Отличие электронного выключателя от выключателя настольной лампы состоит в том, что в электронном выключателе нет механических движущихся частей и переключается он не рукой человека, а электрическим сигналом от другого выключателя. Время переключения поэтому оказывается очень малым, порядка 10~9 с.
Представление информации происходит в различных формах в процессе восприятия окружающей среды живыми организмами и человеком, в процессах обмена информацией между человеком и человеком, человеком и компьютером, компьютером и компьютером и так далее. Преобразование информации из одной формы представления (знаковой системы) в другую называется кодированием.
Средством кодирования служит таблица соответствия знаковых систем, которая устанавливает взаимно однозначное соответствие между знаками или группами знаков двух различных знаковых систем. В пункте 2.10 приведена такая таблица, которая устанавливает соответствие между графическими изображениями знаков алфавита и их компьютерными кодами.
В процессе обмена информацией часто приходится производить операции кодирования и декодирования информации. При вводе знака алфавита в компьютер путем нажатия соответствующей клавиши на клавиатуре происходит кодирование знака, то есть преобразование его в компьютерный код. При выводе знака на экран монитора или принтер происходит обратный процесс — декодирование, когда из компьютерного кода знак преобразуется в его графическое изображение.
Кодирование— это операция преобразования знаков или групп знаков одной знаковой системы в знаки или группы знаков другой знаковой системы.
Рассмотрим в качестве примера кодирования соответствие цифрового и штрихового кодов товара. Такие коды имеются на каждом товаре и позволяют полностью идентифицировать товар (страну и фирму производителя, тип товара и Знакам цифрового кода (цифрам) соответствуют группы знаков штрихового кода (узкие и широкие штрихи, а также размеры промежутков между ними) — рис. 2.4. Для человека удобен цифровой код, а для автоматизированного учета — штриховой код. |
Цифры двоичного кода можно рассматривать как два равновероятных состояния (события). При записи двоичной цифры реализуется выбор одного из двух возможных состояний (одной из двух цифр) и, следовательно, она несет количество информации, равное 1 биту.
Важно, что каждая цифра машинного двоичного кода несет информацию в 1 бит. Таким образом, две цифры несут информацию в 2 бита, три цифры — в 3 бита и так далее. Количество информации в битах равно количеству цифр двоичного машинного кода.
Дата добавления: 2016-05-31; просмотров: 2937;