Символьное кодирование. Кодирование символьное. Кодирование символьной, графической и мультимедийной информации в эвм дельтакодирование
Скачать 54.33 Kb.
|
Бит Полезные особенности двоичного разряда, позволяющие использовать его в качестве единицы представления информации и измерения количества данных, были заслуженно отмечены. Он получил индивидуальное название — бит. Бит — это двоичный разряд. В публикациях можно встретить утверждение о том, что «...бит является минимальной единицей информации о системе, вдвое уменьшающей неопределённость состояния этой системы». Надо иметь в виду, что это утверждение справедливо только для закрытых информационных систем, в которых количество возможных состояний конечно и известно заранее. Полной закрытостью обладают только модели. Эти искусственные информационные системы мы создаём специально для решения научных, технических, а иногда учебных задач. Однако большую часть информации люди всё-такиполучают из открытых систем, количество возможных состояний которых бесконечно и оценке не подлежит. Поэтому более корректно говорить о том, что бит является не минимальной единицей самой информации, а минимальной единицей её представления. Информационное содержание бита — его целочисленное значение (0 или 1). Иногда в информатике также говорят, что информационным содержанием бита является его состояние (включён/выключен; полон/пуст; установлен/сброшен). Байт Бит — очень мелкая единица, с которой не всегда удобно работать, поэтому для практических нужд вводят более крупные единицы. Например, дибит — это пара битов (композиция из двух соседних двоичных разрядов) — его информационным содержанием является одно из четырёх различимых состояний. Аналогичны единицытрибит (имеет 8 различимых состояний) иквадробит (16 состояний). Добавление каждого нового бита увеличивает количество различимых состояний системы в два раза. Наиболее устоявшейся единицей представления информации в вычислительной технике является байт. Байт — это композиция из восьми взаимосвязанных битов. В отличие от бита, байт может быть весьма разнообразен по информационному содержанию. Прежде всего, его информационным содержанием является одно из 256 различимых состояний ( ). При кодировании положительных целых чисел информационным содержанием байта является число от 0 до 255. Но поскольку кодировать можно не только целые и не только положительные числа, информационное содержание байта может быть и иным. Например, байт может выражать отрицательное число, букву, цифру, цвет точки, громкость звука и многое другое. Обратите особое внимание на то, что байт — это не группа из восьми последовательных битов, а именно композиция. Байт имеет собственное информационное содержание, такое, какого не имеет ни один из входящих в него элементов. Байт — это техническая единица представления информации, связанная с определённым уровнем развития техники. Сегодня байт считается восьмиразрядным, но так было не всегда. В прошлом существовали компьютеры, в которых данные представлялись семиразрядными и даже ше- 71 стиразрядными байтами. В настоящее время представление о байте как о восьмибитной композиции считается общепринятым, и нет оснований предполагать, что оно может измениться в ближайшем будущем. Производными единицами измерения количества данных являются: килобайт (Кбайт); мегабайт (Мбайт); гигабайт (Гбайт); терабайт (Тбайт). Килобайты часто используют в качестве единиц измерения текстовых данных. Условно считайте, что одна машинописная страница текста соответствует примерно двум килобайтам данных. Мегабайты используют для измерения объёма оперативной памяти компьютеров, в которой размещаются программы и данные во время работы. Обычно он составляет сотни мегабайт. Гигабайты применяют для оценки ёмкости устройств хранения данных. Размеры современных магнитных жёстких дисков, на которых хранятся программы и данные, измеряются сотнями гигабайт. Терабайты — очень большие единицы. Например, объём текстового содержания всех книг,когда-либонаписанных на русском языке, составляет всего лишь несколько терабайт. Однако, если рассматривать не текст, а графику и видео, то терабайт уже не выглядит столь внушительно. Если взять кинофильм и записать числами цвет каждой точки для каждого кадра, то полученный объём данных составит несколько терабайт. Поэтому при цифровой записи кинофильмов используют специальные приемы кодирования данных со сжатием. В результате уплотнения объём данных уменьшается в десятки, а иногда и в сотни раз, что важно как для их хранения, так и транспортировки. Правила записи чисел в различных системах счисления В настоящее время в вычислительной технике используются десятичная, двоичная и шестнадцатеричная системы счисления. Десятичную систему используют традиционно, а двоичную применяют, когда требуется описать логику работы простейших элементов вычислительной техники. Двоичной системой активно пользуются системные инженеры — люди, отвечающие за взаимодействие вычислительных устройств друг с другом. Характерный недостаток двоичной системы — низкая выразительность записей. Для человека двоичные последовательности выглядят длинными и непонятными. Кроме того, к недостаткам двоичной записи следует отнести её низкую наглядность. В монотонной последовательности нулей и единиц люди легко путают разряды. Эти недостатки успешно преодолевает шестнадцатеричная система. Поскольку её основание является точной степенью двойки ( ), перевод чисел из двоичной системы в шестнадцатеричную легко выполняется в уме, хотя для этого нужна минимальная тренировка. Один разряд шестнадцатеричного числа позволяет выразить сразу четыре бита, то есть целый полубайт. Соответственно, на запись полного байта необходимы всего два шестнадцатеричных разряда. Таким образом, шестнадцатеричная система счисления обеспечивает компактность, вырази- 72 тельность и техническую наглядность записи. Пользуются шестнадцатеричной системой системные программисты — люди, отвечающие за взаимодействие программ с устройствами. В прошлом в вычислительной технике использовалась также восьмеричная система. Как и в шестнадцатеричной системе, её основание является целой степенью двойки ( ), а один разряд позволяет выразить три двоичных бита. В те годы, когда на компьютерах ещё встречались шестиразрядные байты, три двоичных бита составляли полубайт, и восьмеричная система была актуальной. Сегодня, когда байты повсеместно стали восьмиразрядными, восьмеричная система утратила своё значение и в практических задачах не применяется. Самый универсальный способ обозначения чисел, позволяющий записать число в любой системе счисления, состоит в использовании подстрочных индексов. Значение индекса указывает на основание использованной системы счисления. В то же время, для наиболее распространённых систем счисления существуют и другие соглашения: если по контексту ясно, что запись сделана в десятичной системе, никаких специальных обозначений не требуется. При желании классы разрядов можно разделять пробелами; если по контексту не ясно, в какой системе сделана запись, можно использовать обозначение или (от слова decimal — десятичный); ведущие нули в записи чисел не используются. В десятичной системе число всегда начинается со значащей цифры; если по контексту ясно, что запись сделана в двоичной системе счисления, специальных обозначений не требуется. В длинных двоичных словах байты обычно разделяют пробелами. Для наглядности часто пробелами разделяют и полубайты; ведущие нули в записи байта проставляются всегда; ведущие нули можно не ставить, если речь идет не о байте, а просто о битовой последовательности, например: 101. Читается такая последовательность: один —ноль —один(несто один). Если по контексту не ясно, в какой системе счисления сделана запись, используют обозначение или (от слова binary — двоичный); шестнадцатеричный разряд способен иметь до 16 различимых значений. Соответственно, для представления его значения необходимы 16 цифр. Первые десять цифр (от 0 до 9) заимствуются из десятичной системы, а остальные шесть обозначаются буквами латинского алфавита. Независимо от контекста, шестнадцатеричные числа всегда должны иметь специальное обозначение, например: или (от слова hexadecimal — шестнадцатеричный; в технической документации шестнадцатеричные числа иногда обозначают знаком #; ещё один способ обозначения шестнадцатеричных чисел — начинать их с префикса 0x. Известен также приём записи восьмеричных чисел, начиная с нуля. Ранние системы кодирования текстов В первые двадцать лет своего развития компьютеры служили только для работы с числами. Не случайно в те годы их называли электронными вычислительными машинами. Разумеется, даже самые ранние образцы компьютеров умели печатать данные на бумаге. Однако умение печатать буквы и умение работать с текстами — это далеко не одно и то же. Вплоть до 1963 г. вычислительная техника не имела своих стандартов кодирования текстов. Для ввода и вы- 73 вода текстовых данных использовалось оборудование, заимствованное в телеграфной связи: телетайпы и электрические пишущие машинки. Вместе с оборудованием из телеграфии заимствовались и стандарты кодирования символов. Двоичное кодирование текста. Система Бэкона До появления телеграфии существовал лишь один стимул к кодированию текстов — преобразование записи в тайнопись. Сегодня этой цели служит не кодирование, а шифрование, но различать эти понятия стали сравнительно недавно. Так что первые приёмы дискретного кодирования текстов имеют свои корни в криптографии. В 1605 г. английский ученый, философ и политический деятель Фрэнсис Бэкон(1561—1626)опубликовал труд под названием «О приумножении наук», в котором впервые предложил двузначную схему шифрования текста. В этой схеме каждая буква английского алфавита обозначалась пятисимвольной группой, составленной из двух знаков. Бэкон демонстрировал работу своей системы на знаках и . Разумеется, можно использовать и любые иные приёмы дискретизации знаков — суть системы от этого не зависит. Всего кодом Бэкона можно представить 32 (25) различимых письменных знака. Поскольку русский алфавит содержит 33 буквы, то, пожертвовав одной буквой (часто жертвуют буквой Ё), код Бэкона можно продемонстрировать и на русскоязычном тексте. Схема Бэкона не выглядит эффективной, потому что количество знаков исходного сообщения увеличивается в пять раз. Однако цель Бэкона состояла не в том, чтобы сделать текст нечитаемым, а в том, чтобы скрыть сам факт наличия тайнописи. Схема Бэкона не использует цифры, но её вполне можно считать цифровой. Прежде всего, это дискретная система, а в дискретных системах совершенно всё равно, какими знаками пользоваться. Заменив буквы и цифрами 0 и 1, мы получимтаблично-цифровуюсистему пятиразрядного кодирования. В соответствии с духом своего времени, Бэкон предполагал использовать изобретение для тайнописи. Однако он не упустил из виду возможности применения своей схемы для передачи сообщений с помощью колокольного звона, боевых труб, мушкетных выстрелов и вспышек света. Отмети также, что Бэкон обосновал использование пары различимых сигналов для передачи сообщений задолго до того, как Г. Лейбниц(1646—1716)впервые применил двоичную систему для представления числовых данных. Двоичный код переменной длины. Система Морзе В1844 г., когда американский изобретатель Сэмюэл Морзе (1791—1872)готовил к запуску первую экспериментальную линию телеграфной связи между Вашингтоном и Балтимором, ему потребовалась удобная и эффективная система кодирования символов. Альфред Вейл, помогавший Морзе, предложил кодировать передаваемые символы с помощью двух электрических сигналов: длинного (тире) и короткого (точка). Вотличие от системы Бэкона, система Морзе несимметрична. В ней разные знаки алфавита кодируются разным количеством элементов (от одного до шести). Чем реже знак встречается в текстах, тем большее количество символов необходимо для его кодирования. Наиболее часто встречающиеся буквы E и T в системе Морзе кодируются одним элементом, а такие буквы, как Q и L — четырьмя. Система Бодо. Введение управляющих кодов Третья четверть девятнадцатого века — это эпоха пара и телеграфа. Энергия пара позволила людям быстро перемещаться ни большие расстояния. А телеграф позволил им при этом не разрывать социальные, экономические и культурные связи со своим сообществом. Механизация производственных процессов стала основным содержанием эпохи промышленной революции. Потребовали механизации и телеграфные сети, охватившие к 1870 г. целые континенты. В то время с азбукой Морзе могли работать только подготовленные люди, способные воспринимать точки и тире «на глаз» или «на слух», а бурно развивающаяся экономика настойчиво требовала более простых телеграфных аппаратов. Переменная длина кода, эффективная при передаче сообщений вручную, к середине 70-хгодов XIX века стала препятствием для механизации телеграфа. Чтобы приёмный аппарат мог без участия оператора различить, где заканчивается один знак и начинается другой, надо либо ввести дополнительный разделительный элемент, либо кодировать все знаки одинаковым количеством элементов, как предлагал ещё Фрэнсис Бэкон. Технический прогресс избрал второй путь. В 1874 г. Эмиль Бодо во Франции разработал систему, которую назвали «печатающим телеграфом». Передающее устройство имело клавиатуру с пятью клавишами, похожими на фортепианные. Две левые клавиши (IV и V) приводились в действие левой рукой, а три правые (I, II и III) — правой. Приёмное устройство распечатывало на бумажной ленте не точки и тире, как в аппаратах Морзе, а обычный текст. Внедрение системы Бодо имело огромный эффект. Отныне политики, банкиры и военачальники могли сами читать приходящие сообщения, не посвящая телеграфиста в конфиденциальное содержание. Сочетаниями из пяти элементов можно выразить до 32 различных кодов (). Бодо раз местил их в таблице размером . Номер строки определяла одна из четырёх возможных комбинаций клавиш для левой руки (0, IV, V, IV+V), а номер столбца — одна из восьми комбинаций клавиш для право руки (0, I, II, I+II, III, I+III, II+III, I+II+III). В телеграфии необходимо передавать не только буквы, но также цифры и знаки препинания Поэтому 32-символьнойтаблицы для Бодо было явно не достаточно. В принципе, он мог просто ввести шестую клавишу ( ), но это усложнило бы обучение телеграфистов. Бодо решил действовать иначе — он ввёл вторую таблицу из 32 кодов. В первой таблице он разместил буквы, а во второй — цифры и знаки препинания. Для переключения между основной и дополнительной таблицами Бодо ввёл так называемые управляющие коды. Они не имеют символьного содержания, а сообщают приёмнику о том, что следующие поступающие символы он должен декодировать по другой таблице. В XX в. роль управляющих кодов значительно усилилась. В современных таблицах кодирования текстов выделены целые области, в которых размещаются коды, не имеющие текстового содержания. Они предназначены исключительно для того, чтобы передатчик мог в какой-тостепени управлять приёмником. 75 Система Мюррея. Введение кодов форматирования Аппаратура Бодо заметно упростила получение телеграфных сообщений. Для чтения текстов, принятых аппаратом Бодо, специалист не требовался, однако она мало помогла отправителю. Телеграфный ключ Морзе сменили клавиши, похожие на фортепианные, а потребность в квалифицированном операторе по-прежнемуосталась. Для решения этой проблемы в 1901 г. новозеландский журналист Дональд Мюррей предложил использовать в передающем устройстве клавиатуру, заимствованную у пишущей машинки. Вместе с клавиатурой у пишущей машинки были позаимствованы две операции: прокрутка листа бумаги на новую строку и возврат каретки. Была также добавлена новая операция — удаление предыдущего символа как ошибочного. Для исполнения этих операций в таблицу кодирования были введены три новых управляющих кода, которых не было в системе Бодо. Эти коды сохранились до наших дней и выполняют функции форматирования текста: код LF (Line Feeding) — код подачи строки; код CR (Carriage Return) — код возврата каретки; код DEL (Delete) — код отмены символа. Система Мюррея была создана ради упрощения ввода текстов, но она повлияла и на их вывод. Новые коды форматирования дали возможность печатать принятые сообщения не на длинной ленте, а на листах обычного формата. В 1908 г. эта возможность была реализована в аппаратах нового поколения, получивших название телетайпов. Система FIELDDATA. Введение кодов-разделителей. Недостатки системы кодирования Мюррея стали заметны лишь тогда, когда появились первые компьютеры и пришла пора автоматизировать информационный обмен. Первые компьютерные сети были созданы Министерством обороны США в 50-хгодах XX в. Они соединяли посты наблюдения за воздушной обстановкой, службы управления воздушным движением, метеорологические службы. Обмен данными между компьютерами должен был проходить автоматически, но кодов телеграфной связи для этого оказалось мало. Так появилась группа военных стандартов под общим названиемFIELDDATA, имевших следующие особенности: семиразрядное кодирование с возможностью представления до 128 различимых кодов ( ); наличие кодов не только для прописных, но и для строчных букв английского алфавита; наличие специальных кодов-разделителейданных. Введение в действие кодов-разделителейимело огромное значение для автоматизации информационного обмена. Фактически, с введением специальныхкодов-разделителейпоявилась возможность доступа к удалённым базам данных и автоматизации их информационного обмена. Одним из самых ярких проявлений новых возможностей информационного обмена стала электронная почта. Примеры простейших кодов-разделителей,реализованных в системеFIELDDATA: SBK (Start of Block) — начало блока данных. Сегодня этот код назвали бы «началом записи». ЕВК (End of Block) — конец блока данных («конец записи»). 76 ЕВЕ (End of Blockette) — конец вложенного блока. Сегодня этот код, разделяющий между собой элементы одной записи, назвали бы «концом поля». EOF (End of File) — конец сообщения (конец передачи, конец файла данных). |