К списку статей

Кодирование информации.



         У простого человека при этих словах сразу возникают мысли о разведчиках и шпионах, о чем то таинственном и непонятном. Но, на самом, деле все горазда проще.
         Рассмотрим несколько простых примеров из нашей обычной жизни.
         Вы хотите поговорить по телефону со своими родственниками живущими в другом населенном пункте. В конце 19 века все это происходило без информационных технологий, но сейчас. Во первых, ваш голос преобразуется (кодируется) из звуковых колебаний в электрические сигналы. Запомните это слово - кодирование, теперь оно нам часто будет встречаться. Кодирование это всего-навсего преобразование информации из одного вида в другой. Если быть точнее: представление информации по другому: в виде кодов.  Не надо путать этот термин с шифрованием. Студент на лекции звуковое представление информации кодирует при помощи знаковой системы кодирования (алфавита) в текст на листе бумаги, чтобы в дальнейшем можно было ее снова перекодировать, если потребуется, в звуковое представление. Можно было эту лекцию перекодировать в магнитофонную запись, то есть перевести эту информацию из звукового представления в ряд уровней намагниченности материала магнитофонной ленты. Я не слишком умничаю?
         Что ж придется нам немного поднапрячься, потому что понимание
процессов кодирования информации в информационных технологиях является базовым (основополагающим). Компьютерные системы, так же, как и системы автоматики, не умеют хранить и обрабатывать информацию так, как это делает человек. Поэтому наши звуковые сигналы в телефонной трубке преобразуются в электрические. Что же с ними происходит дальше? А вот здесь и начинается самое интересное.
         Для того чтобы ваш голос передавался куда вам требуется, на современных телефонных станциях с использованием компьютерных технологий происходит быстрая и точная коммутация (соединение) вашего телефонного аппарата с аппаратом того, кому вы звоните. Использование специальных релейных АТС все больше уходит в прошлое. Но компьютерная электроника используется не только при соединении телефонов. Сейчас практически всегда для передачи голосовых сообщений на большие расстояния звуковая информация после преобразования в электрические сигналы кодируеся еще раз теперь уже в цифровой вид (оцифровывается). Представьте себе, что ваше "Поздравляю" это просто ряд цифр: 124 243 27 65 ... А вот уже после перевода вашего голоса в цифровой вид это сообщение и летит по кабельным каналам, по радиоканалам, по оптическим линиям, через спутниковые каналы от вашего телефоны, например в другое полушарие в Антарктиду, а потом волшебным образом из чисел становится звуком и радует ваших близких и друзей.
        Зачем же нужно преобразовывать звук в числовую последовательность? А все дело в том, что став последовательностью цифр ваше сообщение гарантированно без искажений будет передано на любые расстояния. Каким образом спросите вы? Да очень просто. Перед передачей последовательности из цифр устройство подсчитывает так называемую контрольную сумму этой последовательности. После передачи последовательности передается и эта контрольная сумма. Устройство, которое приняло последовательность само тоже вычисляет эту сумму и сравнивает ее с принятой. Если эти две суммы не совпадают, значит информация была передана с искажениями. В этом случае приемное устройство просит передачу повторить. И так до тех пор, пока посланная и принятые последовательности не будут в точности совпадать. Так исключаются любые повреждения при передаче цифровой информации. Хотя, нужно сказать, что для передачи обычного голоса такие проверки часто бывают лишними. Так как все компьютерные устройства хранят, передают и обрабатывают информацию в цифровом виде, после оцифровки шансы не потеряться, остаться неискаженной у информации резко возрастают.
         Как же эти цифры сохраняются и не теряются, ведь наверное их может быть очень много. Да, но для надежности и простоты, компьютерные устройства используют в своей работе не десятичную систему счисления, а двоичную, а числа в этой системе состоят из нулей и единиц.
    Например наше привычное число 5 в двоичной системе выглядит, как 101, или наше обычное число 10 в двоичной системе выглядит, как 1010.
   
    Главное преимущество двоичной системы - простота.
В технических устройствах при сохранении ее в цифровом виде в качестве нулей и единиц используют например крошечные участки поверхности намагничивающегося материала дискет или жестких дисков, или наличие или отсутствие напряжения, или отражение или поглощение лазерного луча от поверхности компакт диска.
        Как же все-таки эти нули и единицы хранятся? Да очень просто. Возьмем для примера обычную дискетку. На ее поверхности нанесен магнитный слой. Также как в обычном магнитофоне на этот слой пишется информация. Только в данном случае это не музыкальные композиции, а последовательности нулей и единиц - намагниченных и ненамагниченных участков. То есть крошечный участок может быть намагничен, тогда это единица, но может быть и не намагничен тогда это ноль. Смотрите, уже неплохо, можно запомнить два разных числа.
   
Если устройство может запомнить ноль или единицу говорят, что оно имеет память емкостью 1 бит.
    Сразу же раскрою секрет, что после многочисленных споров, экспериментов, договоренностей решили в качестве базовой (общепринятой) использовать последовательность из 8 этих элементарных участков (бит). Почему именно 8 вам станет понятно, если вы будете читать дальше.
    Допустим, что считывающая головка прочитала с дискеты информацию о 8 последовательных участках и выяснилось, что намагниченным был только самый первый. Учтите, что значение числа возрастает справа налево. То есть в двоичном представлении на дискете было записано число 00000001. Единица, она и в Африке единица. Понятно что там было записано число 1.
    А если бы головка прочитала последовательность 00000010, то есть был намагничен только второй участочек из восьми, как ни странно в обычной десятичной системе это число 2.
    А последовательность 00000011 обозначает число 3. А последовательность 10000000 число 128. Школьники и студенты эти переводы изучают подробно, а нам это не потребуется.
    Просто, оказывается, различные комбинации намагниченных и ненамагниченных участков позволяют хранить на дискете разные числа. Раскрою еще один секрет, комбинацией из восьми нулей и единиц можно записать любое число начиная с 0, когда все цифры в записи нули и кончая числом 255, когда все единицы. Эта восьмиэлементная последовательность может быть получена не только с участков поверхности дискеты, но и, например, в виде комбинации наличия или отсутствия напряжений на 8 электропроводниках какого либо устройства. Или комбинации в виде отраженного или неотраженного света с поверхности лазерного компакт диска. Смысл остается тем же: эта последовательность какое то число. Вот видите мы уже и поняли, как можно хранить (запоминать) или передавать разные числа.
    Когда устройство может хранить одну такую восьмиэлементную последовательность, говорят, что оно может хранить информацию, объем которой равен одному байту. Если одновременно может хранить две таких последовательности, значит емкость памяти этого устройства 2 байта. На обычной дискете можно записать примерно 1 миллион 440 тысяч таких последовательностей. Значит объем памяти дискеты 1,44 миллиона байт или 1,4 мегабайт.
         Так почему же все таки в этой последовательности 8 элементов? Немаловажную роль в этом сыграли следующие обстоятельства. Человек существо неугомонное. Ну научился он хранить и передавать числа, чего еще надо? Так ведь нет. Информация во всем мире испокон веку как сохраняется? Правильно в виде текстов, книг, по научному в символьном виде.
    Думает человек, как бы нам эти числовые последовательности для хранения символьной информации приспособить. А что тут думать, тут и дурак догадается. Надо каждому из чисел сопоставить букву, цифру или знак препинания. Например, число 65 это будет английская A, число 66 - B и так далее. Заглавные да маленькие, цифры да знаки препинания, да еще общепринятые математические значки, итого около сотни. Так и порешили берем последовательность из 7 элементов, в ней можно сохранить 128 различных чисел, каждое из которых обозначает один из символов. Но уж больно скромен получился этот набор, да к тому же вдруг выяснилось, что кроме латиницы люди записывают текст другими буквами. Есть например кириллица, арабская письменность и другие. Что ж, пришлось к семи элементам добавить еще один. Так и получился байт, в котором нашлось место и для латиницы и для других языков.
        Но вот окончательно договориться какому числу какой символ в этой битовой последовательности соответствует люди так и не смогли, слишком много претензий у разных языков. Вот и существуют по сей день несколько таблиц, в которых записано какому числу какой символ соответствует. По научному они кодовыми таблицами называются, то есть
указывают какое число какой символ кодирует.
        Но на этом история не закончилась. Когда компьютерные технологии по всему миру стали распространяться, оказалось, что байта с его 256-ю комбинациями тоже недостаточно. Ну скажите, как вы например тысячи китайских иероглифов в один байт запихнете. Тут уж пришлось вопрос кардинально решить. Договорились символы двумя байтами кодировать и таблицу соответствия числа символу универсальной кодировкой назвали. Можете мне поверить или посчитайте на досуге, двумя байтами мы можем более 65000 символов закодировать, теперь уж всем хватит. Теперь уж каждому символу хоть русскому, хоть японскому совершенно однозначно число соответствует, но для латиницы, как для основного языка всех компьютеров и компьютерщиков оставили первые 127 мест.
        Но и тут не все гладко получилось, оказывается и в юникоде кодовые таблицы пришлось указывать. Не устаешь удивляться неугомонности разума человеческого.