Файл: Методы кодирования данных (Краткая история кодирования ).pdf
Добавлен: 04.04.2023
Просмотров: 78
Скачиваний: 2
СОДЕРЖАНИЕ
Глава 1. Теоретические основы кодирования данных
1.1 Основные понятия и назначение кодирования данных
1.2 Кодирование текстовых данных
1.3 Универсальная система кодирования текстовых данных
1.3 Кодирование графических данных
1.4 Кодирование звуковой информации
Глава 2. Методы кодирования данных
Введение
Для автоматизации работы с информацией различных типов, необходимо стандартизировать форму их представления – для чего, как правило, применяется прием кодирования, то есть выражения данных одного типа через данные другого типа. Естественные человеческие языки – как раз и являются системами кодирования понятий для выражения мыслей при помощи речи. С языками соседствуют азбуки (системы кодирования составляющих языка с помощью графических обозначений). История знает стоящие, хоть и напрасные попытки разработки «универсальных» языков и азбук.
Проблема универсального средства кодирования достаточно успешно реализуется в определенных отраслях техники, науки и культуры. Как пример можно привести систему записи математических выражений, телеграфную азбуку, морскую флажковую азбуку, систему Брайля для слепых.
Актуальность этой курсовой работы обусловлена тем, что в современной информатике аккумулировано значительное количество материала о разных видах информации и возможности их кодирования и безопасной передачи. Этот значительный объем информации необходимо осмыслить, структурировать, обобщить и представить как совокупность знаний о методах кодирования данных.
Целью данной курсовой работы является рассмотрение различных методов кодирования данных.
Для достижения цели, необходимо решить следующие задачи:
- тщательно изучить тематическую литературу и данные сайтов сети Интернет;
- рассмотреть основные понятия, связанные с кодированием данных;
- рассмотреть как кодируются различные типы данных в электронно-вычислительных машинах;
- подробно рассмотреть различные методы кодирования данных.
Глава 1. Теоретические основы кодирования данных
1.1 Основные понятия и назначение кодирования данных
В связи с интенсивным развитием информационных технологий кодирование стало ведущим вопросом при решении разнообразных задач программирования, таких как:
- представление данных произвольной структуры (числа, текст, графика) в памяти компьютера;
- обеспечение помехоустойчивости при отправке данных по каналам связи;
- компрессия информации в базах данных.
Главными задачами кодирования являются:
- обеспечение экономичности отправки информации посредством ликвидации избыточности;
- обеспечение надежности (помехоустойчивости) передачи информации;
- согласование скорости отправки и получения данных с пропускной способностью канала.
Код – это набор условных обозначений (или сигналов) для записи (или передачи) некоторых заранее известных понятий.
Знак – это элемент конечного множества отличающихся друг от друга элементов.
Длина кода – количество знаков, используемых для представления кодируемой информации.
Кодирование данных – это процесс формирования определенного представления информации. Буквально, под термином «кодирование» часто понимают трансформацию одной формы представления информации в другую, более пригодную для хранения, передачи или обработки.
Весь ряд символов, используемых для кодирования, называется алфавитом кодирования. Например, в памяти компьютера вся информация кодируется при помощи двоичного алфавита, содержащего всего 2 символа: ноль и единицу.
Всякий способ кодирования имеет в своем составе основу (алфавит, система координат, основание системы счисления и т.д.) и регламент создания информационных образов на этой основе. Кодирование числовых данных осуществляется с использованием системы счисления.
Компьютер может обрабатывать текстовую информацию. При вводе данных в компьютер каждая буква кодируется назначенным числом, а при выводе на внешние устройства (экран, печать) для понимания человеком по этим числам формируются изображения букв. Соответствие между набором букв и числами называется кодировкой символов.
Декодирование – процесс обратного преобразования кода в форму первоначальной символьной системы, по-другому говоря – получение исходного сообщения. Например: перевод с азбуки Морзе в письменный текст на русском языке.
В широком смысле декодирование – это операция восстановления содержания закодированного сообщения. При этом подходе процесс записи текста с помощью английского алфавита является кодированием, а его чтение – декодированием.
Операции кодирования и декодирования считаются обратимыми, если их пошаговое применение гарантирует возврат к первоначальной информации без какой-либо утраты этой информации.
Человечество применяет кодирование текста с момента появления первой секретной информации. Ниже приведено несколько приёмов кодирования текста, изобретенных на различных этапах развития человеческой мысли:
- криптография – это тайнопись, система изменения письма в целях превратить понятный текст в непонятный для неосведомленных лиц;
- азбука Морзе, в которой каждая буква или знак являет собой сочетание коротких элементарных посылок электрического тока (точек) и элементарных посылок утроенной продолжительности (тире);
- сурдожесты – язык жестов, используемый людьми с расстройством слуха.
Одним из первых, вошедших в историю, методов шифрования стал шифр Юлия Цезаря. Он строится на замещении каждой буквы кодируемого текста, на иную, путем сдвига в алфавите исходной буквы на заданное количество символов, при этом алфавит просматривается по кругу, а именно - после буквы «я» следует буква «а». Так, например, «байт» при сдвиге на 2 символа вправо кодируется словом «гвлф». Чтобы расшифровать данное слово необходимо поменять каждую зашифрованную букву, на вторую слева от неё.
С появлением технических средств хранения и передачи данных возникли новые идеи и методы кодирования. Первейшим техническим средством отправки информации на дальнее расстояние стал телеграф, который в 1837 году изобрел американец Сэмюэль Морзе. Телеграфное сообщение – это череда электрических сигналов, переданная от одного телеграфного аппарата по линии к другому телеграфному аппарату. Этот момент навел С. Морзе на идею использования только 2 видов сигнала – короткого и длинного – для кодирования сообщения, передаваемого по линиям телеграфной связи.
Такой способ кодирования приобрел название азбуки Морзе. В ней каждая буква алфавита кодируется чередой коротких сигналов (точек) и длинных сигналов (тире). Буквы отделены друг от друга интервалами – отсутствием сигналов.
Равномерный телеграфный код был изобретен французом Жаном Морисом Бодо в конце девятнадцатого века. В нем применялось только два разных вида сигналов. Это два отличных друг от друга электрических сигнала. Длина кода всех символов одинакова и равняется пяти. В этом случае отсутствует проблема отделения букв друг от друга: каждая 5-ка сигналов – это знак текста. Благодаря этому пропуск не нужен.
Код Бодо – это первый в истории техники метод двоичного кодирования данных. При помощи этой концепции был сконструирован телеграфный аппарат, печатающий буквы и имеющий вид пишущей машинки. При нажатии на клавишу с какой-либо буквой вырабатывался соответствующий 5-импульсный сигнал, который отсылался по линии связи. Аппарат-приемник под воздействием этого сигнала отпечатывает ту же букву на бумажном носителе.
В нынешних компьютерах для кодирования текстов также используется равномерный двоичный код.
Кодирование данных двоичным кодом
В ЭВМ существует своя система, которая называется двоичным кодированием. Она основана на представлении данных посредством всего двух знаков: 0 и 1. Их называют двоичными цифрами или, по-английски, binary digit или сокращенно bit (бит).
С помощью одного бита можно сформулировать два понятия: 0 или 1 (да или нет, истина или ложь и прочее). Если число битов увеличить до двух, тогда можно выразить уже 4 разных понятия:
00 01 10 11
Три бита дают возможность закодировать 8 различных понятий:
000 001 010 011 100 101 110 111
То есть, увеличивая на 1 число разрядов в системе двоичного кодирования, мы увеличиваем в два раза количество значений, которое можно выразить в этой системе. Общая формула:
N = 2m
где N – число кодируемых значений;
m – разрядность двоичного кодирования, принятая в данной системе.
Более крупной единицей представления, а также измерения информации является байт.
8 бит – 1 байт
1024 байта – 1 Кбайт
1024 килобайта – 1 Мбайт
1024 мегабайта – 1 Гбайт
Основные типы данных, которые обрабатывает компьютер:
- целые и действительные числа;
- текстовые данные;
- графика;
- звук.
Кодирование целых и действительных чисел
Целые числа кодируют двоичным кодом очень простым способом – нужно взять целое число и делить его напополам до того момента, пока частное не станет равным 1. Остатки от каждого деления, записанные в ряд справа налево вместе с последним частным, и формируют двоичный аналог десятичного числа:
23:2=11 + 1
11:2=5+1
5:2=2+1
2:2=1+0
Получается, 2310 = 101112.
Для кодирования целых чисел от 0 до 255 необходимо иметь 8 разрядов двоичного кода (8 бит). 16 бит позволяют закодировать целые числа от 0 до 65 535, а 24 бита – более 16,5 миллионов различных значений.
Для кодирования действительных чисел применяется 80-разрядное кодирование. Для начала число конвертируют в нормализованную форму:
3,1415926=0,31415926*101
300 000 = 0,3*106
123 456 789 = 0,123456789*1010
1-ая часть числа именуется мантиссой, а 2-ая – характеристикой. Преимущественную часть из 80 бит выделяют для хранения мантиссы (с учетом знака) и некое фиксированное число разрядов отводят для хранения характеристики (также со знаком).
1.2 Кодирование текстовых данных
В случае если с каждым символом алфавита соотнести определенное целое число (к примеру, порядковый номер), то при помощи двоичного кода можно закодировать и текстовые данные. 8 двоичных разрядов вполне хватит для кодирования 256 различных символов. Этого достаточно для того чтобы выразить разными сочетаниями 8 битов все символы английского и русского языков, как строчные, так и прописные, в том числе и знаки препинания, символы основных арифметических действий и некоторые общепринятые специальные символы, например символ «§».
На первый взгляд это очень простая задача, но всегда существовали очень значимые организационные трудности. В начале развития вычислительной техники эти трудности были связаны с дефицитом нужных стандартов, а в наше время сложности порождены, наоборот, множеством одновременно действующих и противоречащих друг другу стандартов. Для того чтобы все одинаково кодировали текстовые данные, необходимы единые таблицы кодирования. Пока это невозможно из-за разногласий между символами национальных алфавитов, а также разногласий корпоративного характера.
Для английского языка, фактически занявшего нишу международного средства общения, противоречия уже сняты. Институт стандартизации США (American National Standard Institute) внедрил систему кодирования ASCII (American Standard Code for Information Interchange - стандартный код информационного обмена США). В данной системе ASCII существуют 2 таблицы кодирования – базовая и расширенная. В базовой таблице содержатся значения кодов от 0 до 127, а расширенная относится к символам с номерами от 128 до 255.
Первые 32 кода базовой таблицы, начиная с 0, отводятся производителям аппаратных средств (в первую очередь производителям компьютеров и печатающих устройств). В этой области размещены так называемые управляющие коды, которым не сопоставлены никакие символы языков, и, соответственно, эти коды не выводятся ни на экран, ни на устройства печати, но с их помощью можно управлять тем, как происходит вывод прочих данных.
С кода 32 по код 127 размещены коды символов английского алфавита, знаков препинания, цифр, арифметических действий и некоторых вспомогательных символов. Базовая таблица кодировки ASCII представлена на рисунке 1:
Рисунок 1. Базовая таблица кодировки ASCII
Подобные системы кодирования текстовых данных были созданы и в других странах. Например, в СССР действовала система кодирования КОИ-7 (код обмена информацией, 7-значный). Однако поддержка производителей оборудования и программ вывела американский код ASCII на уровень международного стандарта, и национальные системы кодирования вынуждены были «отступить» во вторую, расширенную часть системы кодирования, которая определяет значения кодов с 128 по 255. Неимение единого стандарта в этой области привело к появлению многочисленных одновременно действующих кодировок. Только в России можно указать 3 действующих стандарта кодировки и еще несколько устаревших.