Информация может быть представлена в виде символов. Набор возможных символов в информации определяет язык. В русском языке 33 буквы. Это означает, что символ может принимать 33 значения.
Особенность цифровой передачи данных - то, что у передаваемого сигнала может быть только два состояния в момент времени - либо есть сигнал (1), либо его нет(0). Единицу сигнала мы назовем битом информации.
Алфавит мощностью более двух символов закодировать в один момент времени невозможно. Поэтому выходом из этой ситуации стало передавать ее некоторой последовательностью бит. В самом деле:
1 бит информации: 0, 1 - два значения
2 бита информации 00, 01, 10, 11 - четыре значения
3 бита информации - 000, 001, 010, 011, 100, 101, 110, 111 - 8 различных комбинаций.
и так далее. Каждую такую комбинацию можно поставить в соответствие некоторому символу, что будет однозначно определять этот символ.
Договорились, что оптимальным будет 8-ми битная группировка данных. Восемь бит равно 1 байту. 1 байт может принимать 256 различных значений. Именно такие "группировки" по 8 бит можно увидеть, открыв любой файл текстовым редактором, хотя, строго говоря, если в файле двоичные данные, это разбиение весьма условно.
Существует две основные задачи с такими двоичными данными:
- сжатие данных. Представим себе текстовый файл (содержащий текст, осмысленные слова). Из 256 возможных символов В тексте используется лишь около четверти. Следовательно, кодирование текста таким способом - нерационально и мы можем, используя специальные различные алгоритмы, уменьшить количество бит, необходимых для передачи этой информации. Кроме того, сжатие может происходить за счет поиска повторяющихся фрагментов кода.
- избыточное кодирование для обнаружения и исправления ошибок при передачи данных. Допустим, файл в процессе передачи данных исказился. Чтобы можно было выявить (и исправлять) такие искажения, используют избыточные кодирование. За счет дополнительных бит к исходному сообщению можно решить такую задачу.
Отдельной строкой лежит задача шифрования данных. Текст в исходном сообщении преобразовывается, становясь нечитаемым для окружающих. При перехвате шифрованного текста получить исходный практически невозможно без дополнительной информации (например, без знания ключа и алгоритма, по которому был зашифрован этот файл)
Все три области преобразований текста, ставя перед собой конкретные задачи, по своему интересны.
Можно рассказать о каждой области, но сперва я решил уточнить у потенциальных читателей, с какой области лучше начать. Честно говоря, чувствую себя буридановым ослом