Часто наши сообщения можно сказать намного короче. Точно также можно многие файлы сделать намного меньше. Для примера рассмотрим точечный рисунок *.bmp. Как выглядит файл? В нем записаны размеры картинки (например 200´ 300 пикселей), а затем для каждого из 60'000 пикселей указан номер его цвета. В таком случае, для абсолютно черного рисунка 200´ 300 в файле будет храниться 60'000 нулей. Хотя, кроме размеров, можно хранить всего одно число нуль и какой-нибудь символ, который показывает, что все точки одного цвета. Таким образом, мы сократим размеры файла во много раз. Возьмем другой пример: текстовый файл, в котором встречаются только буквы латинского алфавита (других знаков нет). В стандартной кодировке символов много (256), в рассчете на это каждая буква записывается восемью битами. Мы же используем всего 26 букв. Понятно, что для их записи можно было использовать 5 бит. Т.о. можно почти в 1,6 раз сократить исходный файл. Таких примеров очень много. Мы с ходу придумали способы уменьшить размеры файлов. Над такими способами работает много людей уже довольно давно. Приведенные нами примеры примитивны. Современные алгоритмы позволяют хорошо уменьшить (сжать) очень много типов файлов.