
Кодирование информации: что это и какими способами кодируют данные
Любые данные внутри техники живут в виде кода. Буква, цвет пикселя, нота, показание датчика, полоса на упаковке товара — всё это перед хранением или передачей превращается в последовательность условных знаков. Кодирование информации — это перевод сообщения из одной формы представления в другую по заранее оговорённым правилам. Обратная операция называется декодированием.
Тема кажется школьной, но лежит под каждой практической задачей: почему в письме вместо русских букв появляются «кракозябры», почему фотография весит 4 МБ, почему сканер отказывается читать штрих-код. Ниже — карта основных способов кодирования: числа, текст, изображение, звук, сигнал. Без углубления в частности — на них есть отдельные материалы, ссылки стоят по ходу текста.
Что такое кодирование информации простыми словами
Кодирование — это договорённость. Две стороны заранее условились, какой знак что означает, и дальше обмениваются сообщениями, не передавая сам предмет. Регулировщик поднимает жезл — водитель читает «стой». Светофор зажигает красный — то же значение, другой код. Радист отстукивает три точки, три тире, три точки — принимающая сторона понимает «SOS».
Формально в любой схеме кодирования четыре части: источник сообщения, алфавит кода (набор допустимых знаков), правило соответствия и приёмник, который знает то же правило. Если приёмник правил не знает или знает другие — сообщение превратится в мусор. Так происходит с текстом, отправленным в одной кодировке и открытым в другой: байты пришли целыми, но читаются по чужой таблице.
Обратите внимание на слово «договорённость». В кодировании нет ничего секретного: правила публичны, их специально описывают в стандартах, чтобы устройства разных производителей понимали друг друга. Этим кодирование отличается от шифрования, где смысл как раз в том, чтобы посторонний правил не знал. Второй признак — полная обратимость: если из кода нельзя восстановить оригинал, это уже не кодирование, а хеширование или сжатие с потерями.
Алфавит, мощность и формула, из которой всё следует
Вся арифметика кодирования держится на одной связке. Пусть в алфавите N различных знаков — это мощность алфавита. Чтобы закодировать один такой знак цепочкой из нулей и единиц, нужно i бит, где:
N = 2i, откуда i = log2N — это соотношение называют формулой Хартли или алфавитным подходом к измерению информации.
Проверяется на пальцах. Одним битом различаются два состояния: 0 и 1. Двумя — четыре: 00, 01, 10, 11. Тремя — восемь. Восемью — 256. Отсюда растёт всё остальное: алфавит из 32 знаков требует 5 бит на символ, алфавит из 256 знаков — ровно 8 бит, то есть один байт.
Если N не степень двойки, i округляют вверх. Русский алфавит из 33 букв не влезает в 5 бит (это только 32 варианта), значит нужно 6 бит на букву — часть комбинаций останется неиспользованной. Такая избыточность — плата за фиксированную длину кода.
Коды равномерные и неравномерные
Коды делятся на две большие группы. Равномерный код отводит одинаковое число знаков на каждый символ: в ASCII — 7 бит, в Windows-1251 — 8 бит, в штрих-коде EAN-13 — по 7 модулей на цифру. Такой код легко разбирать: приёмник просто режет поток на куски фиксированной длины.
Неравномерный код даёт частым символам короткие цепочки, редким — длинные. Классика жанра — азбука Морзе, где на частые буквы отведены самые короткие посылки. На том же принципе построено сжатие по Хаффману. Выигрыш в объёме очевиден, но появляется проблема: где заканчивается один символ и начинается следующий. Решают её разделителем (в Морзе это пауза) либо префиксным свойством — когда ни один код не является началом другого.
Карта способов кодирования
Прежде чем разбирать каждый тип данных, полезно увидеть всю картину сразу.
| Что кодируем | Способ | Единица | Типичный пример |
|---|---|---|---|
| Числа | Позиционная система счисления | Разряд | Двоичная, восьмеричная, шестнадцатеричная |
| Текст | Таблица кодировки: символ → номер → байты | Символ | ASCII, Windows-1251, UTF-8 |
| Изображение (растр) | Дискретизация по сетке пикселей | Пиксель | BMP, PNG, JPEG |
| Изображение (вектор) | Описание геометрических примитивов | Объект | SVG, шрифты |
| Звук | Временная дискретизация и квантование | Отсчёт (сэмпл) | WAV, MP3, AAC |
| Видео | Кадры плюс разница между кадрами | Кадр | H.264, AV1 |
| Сигнал | Длительность и пауза | Элемент посылки | Азбука Морзе, телеграфный код |
| Данные для машинного чтения | Графические модули и штрихи | Модуль, штрих | QR-код, DataMatrix, EAN-13 |
Во всех строках, кроме двух последних, конечная цель одна — получить последовательность бит. Разница только в том, как сущность реального мира превращается в числа на первом шаге.
Зачем нужны разные схемы и как выбирают подходящую
Одной универсальной схемы не существует, потому что у каждого канала свои ограничения. Память компьютера принимает только биты, поэтому там побеждают равномерные коды с быстрым разбором. Бумажная этикетка терпит грязь, царапины и кривую печать — значит, в код закладывают избыточность и контрольные знаки. Радиоэфир шумит и дорог по времени, поэтому в нём выигрывают короткие неравномерные посылки. Электронное письмо пропускает только печатные символы, и двоичное вложение приходится переупаковывать в текст.
Выбор схемы под конкретную задачу сводится к четырём вопросам.
- Что за данные. Только цифры, латиница с цифрами, произвольный текст или сырые байты — от этого напрямую зависит объём кода: чем уже алфавит, тем меньше бит на знак.
- Через что передаём. Канал определяет допустимый набор знаков: провод, эфир, изображение на упаковке, тело JSON, строка адреса.
- Насколько вероятны ошибки. Там, где приёмник не может переспросить, в код добавляют контрольную цифру или помехоустойчивую избыточность.
- Кто декодирует. Человек, дешёвый сканер или процессор — от этого зависит, можно ли позволить себе сложную арифметику при разборе.
Кодирование чисел: позиционные системы счисления
Число — единственный тип данных, который техника обрабатывает напрямую: текст, картинка и звук сначала становятся числами и только потом байтами. Форму записи числа задаёт система счисления, и в позиционной значение цифры зависит от занимаемого места, а вес разряда растёт как степень основания. Внутри устройств работает двоичная система, а восьмеричная и шестнадцатеричная нужны человеку — они компактнее и переводятся в двоичную механической группировкой разрядов. Основания, вес разряда, переводы между системами и правила счёта разобраны в отдельном материале про системы счисления.
Кодирование текста: символ, номер, байты
Текст кодируется в три шага. Сначала каждому символу назначается номер — целое число. Затем номер записывается в виде байтов по правилам конкретной кодировки. Наконец, приёмник читает байты и по той же таблице восстанавливает символы.
Исторически первым массовым стандартом стал ASCII — компактный набор на латиницу, цифры, знаки препинания и служебные команды. Его состав, диапазоны и коды конкретных символов разобраны в отдельном материале про таблицу ASCII. Национальных букв в базовом наборе не было, и под них каждый регион расширял набор по-своему — отсюда выросла проблема несовместимых кодировок.
Проблему закрыл Unicode — единый реестр, где номер выдаётся каждому символу всех письменностей, включая иероглифы, математические знаки и эмодзи; счёт идёт на сотни тысяч позиций. Unicode задаёт номера, но не способ их записи в байты — этим занимаются форматы UTF-8, UTF-16 и UTF-32. Самый распространённый, UTF-8, использует переменную длину: латиница и управляющие символы занимают один байт и совпадают с ASCII, кириллица — два байта, многие иероглифы — три, редкие знаки и эмодзи — четыре.
Если писавший и читающий используют разные таблицы, текст рассыпается на нечитаемые символы. Разбор этой поломки и порядок починки — в материале про кодировку текста.
Служебные способы кодирования текста
Кроме основных кодировок есть служебные схемы, которые решают узкие задачи передачи.
- Base64 — упаковка произвольных двоичных данных в 64 печатных символа. Три байта превращаются в четыре знака, объём растёт примерно на треть. Нужна, чтобы протащить картинку или вложение через канал, рассчитанный только на текст: письма, JSON, атрибуты HTML.
- URL-кодирование — замена недопустимых в адресе символов на знак процента с шестнадцатеричным кодом байта. Пробел становится %20, кириллица — цепочкой таких групп.
- HTML-мнемоники — запись символов через амперсанд и имя или номер, чтобы разметка не сломалась на угловых скобках.
Ни одна из схем не защищает данные и не уменьшает объём — они лишь приводят содержимое к безопасному для канала набору знаков.
Кодирование изображений: пиксели и глубина цвета
Растровое изображение кодируют дискретизацией: картинку накрывают прямоугольной сеткой, каждой ячейке присваивают один цвет. Ячейка называется пикселем, размер сетки — разрешением. Чем мельче сетка, тем меньше видна ступенчатость и тем больше данных.
Цвет пикселя тоже число. Глубина цвета — количество бит на пиксель — задаёт, сколько оттенков различимо. Один бит даёт чёрно-белое изображение, 8 бит — 256 градаций, 24 бита в модели RGB (по 8 бит на красный, зелёный и синий каналы) дают 16 777 216 цветов, что перекрывает возможности зрения. Иногда добавляют четвёртый канал — альфа, прозрачность, и получается 32 бита на пиксель.
Объём несжатого растра считается в лоб: ширина × высота × глубина цвета. Изображение 1024×768 в 24-битном цвете занимает 1024 · 768 · 3 = 2 359 296 байт, примерно 2,25 МБ. Поэтому форматы без сжатия вроде BMP почти вышли из обихода: PNG сжимает те же данные без потерь, JPEG — с потерями, но в разы сильнее.
Отдельная статья расходов — цветовая модель и палитра. Индексированные форматы хранят не цвет каждого пикселя, а номер в таблице из 256 оттенков, и картинка с плоской заливкой ужимается в разы; фотографию так не ужать, там оттенков тысячи. По той же логике устроены форматы с потерями: JPEG переводит картинку в яркость и два цветовых канала, прореживает цветовые данные вдвое и огрубляет мелкие детали, к которым глаз нечувствителен. Поэтому один и тот же снимок весит 4 МБ на выходе из камеры и 400 КБ после подготовки к вебу — сетка пикселей та же, схема кодирования разная.
Векторная графика устроена иначе: вместо сетки пикселей хранится описание фигур — координаты опорных точек, кривые, толщина линии, заливка. Файл не зависит от размера отображения, при увеличении картинка перерисовывается и остаётся резкой. Так устроены SVG, шрифты и логотипы. Обратная сторона: фотографию вектором не описать.
Кодирование звука: дискретизация и разрядность
Звук в природе непрерывен — это колебание давления воздуха. Чтобы записать его числами, аналоговый сигнал измеряют через равные промежутки времени и округляют каждое измерение до ближайшего уровня из фиксированного набора. Первый шаг называется дискретизацией, второй — квантованием.
Частота дискретизации показывает, сколько замеров делается в секунду. Компакт-диск использует 44 100 Гц. Число выбрано не случайно: по теореме Котельникова (в западной традиции — теорема Найквиста — Шеннона) для точного восстановления сигнала частота замеров должна вдвое превышать максимальную частоту в сигнале, а верхняя граница человеческого слуха лежит около 20 кГц. Отсюда запас чуть больше 40 кГц.
Разрядность (глубина квантования) определяет, насколько точно фиксируется амплитуда каждого замера. 16 бит дают 65 536 уровней громкости — стандарт CD; студийная запись работает с 24 битами. Чем ниже разрядность, тем заметнее шум квантования — характерная «песочность» на тихих фрагментах.
Поток для CD-качества: 44 100 замеров × 16 бит × 2 канала = 1 411 200 бит в секунду, около 10 МБ на минуту звучания, примерно 600 МБ на час музыки. Этот объём и заставил индустрию заняться сжатием: MP3 и AAC выбрасывают то, что ухо не различает, и уменьшают файл в десять и более раз. Восстановить оригинал из них нельзя — это сжатие с потерями.
Третий множитель после частоты и разрядности — каналы: моно даёт один поток отсчётов, стерео — два, многоканальный звук — больше, и в оценке объёма это прямой множитель. Битрейт, итоговая скорость потока в килобитах в секунду, у форматов с потерями задаётся явно и служит регулятором качества: чем он ниже, тем грубее модель слуха, по которой кодек решает, что можно выбросить.
Кодирование сигналом: Морзе и телеграфные схемы
Отдельная ветвь — кодирование, рассчитанное не на память компьютера, а на канал связи: провод, радиоэфир, луч фонаря. Алфавитом здесь служат длительности посылок и промежутки между ними, потому что приёмником может оказаться человек или простейшая схема без вычислителя. Самый известный представитель — неравномерная азбука Морзе; рядом стоят равномерные телеграфные коды вроде кода Бодо, из которого выросло понятие бода как единицы скорости передачи. Устройство точек, тире и пауз, а также русская и латинская таблицы разобраны в материале про азбуку Морзе.
Машиночитаемые коды: штрихи и матрицы
Штрих-код и QR-код — тоже кодирование, только носителем служит не электрический сигнал, а изображение на поверхности. Задача та же: превратить строку данных в форму, которую надёжно прочитает недорогое устройство.
Линейный штрих-код кодирует символы шириной чёрных и белых полос. В EAN-13 каждая цифра занимает семь модулей, а тринадцатый знак — контрольная цифра, вычисляемая из остальных. Сканер снимает яркость по горизонтали, восстанавливает ширины и сверяет контрольную цифру: если не сошлось, считывание отбрасывается. Ёмкость таких кодов невелика — от восьми до нескольких десятков символов, зато стандарт жёстко задаёт физику носителя: ширину узкого модуля, светлые поля по краям и минимальный контраст между штрихом и фоном.
Двумерные коды хранят данные в матрице тёмных и светлых квадратов — модулей. QR-код описан стандартом ISO/IEC 18004 и существует в 40 версиях: от 21×21 модуля до 177×177. Ёмкость старшей версии — около 7 тысяч цифр или порядка 3 тысяч байт произвольных данных. Уровней избыточности четыре — от L до H, старший переживает утрату примерно трети площади.
Внутри QR-кода работает сразу несколько уровней кодирования, и это наглядная иллюстрация всего сказанного выше. Сначала выбирается режим: цифровой упаковывает три цифры в 10 бит, буквенно-цифровой — два знака из набора в 45 символов в 11 бит, байтовый тратит на символ целых восемь бит. Отсюда практическое следствие: одна и та же по смыслу ссылка, записанная заглавными буквами, укладывается в меньший код, чем набранная вперемешку, — буквенно-цифровой набор включает только цифры, прописную латиницу и девять служебных знаков. Кириллица в него не входит и уходит в байтовый режим, поэтому русский текст раздувает матрицу заметно сильнее латиницы.
Поверх режима ложатся служебные слои: указатель длины данных, заполняющие байты до конца версии, помехоустойчивые блоки Рида — Соломона и маска, которая перемешивает тёмные модули, чтобы сканер не спутал рисунок со служебными метками. Физика чтения добавляет свои требования — светлое поле по периметру, контраст между тёмным и фоном, минимальный размер модуля при печати; нарушение любого из них делает математически верный код нечитаемым. Сгенерировать матричный код под свои данные — ссылку, текст, контакт, реквизиты — можно в онлайн-генераторе QR-кодов: режим, версию и уровень коррекции сервис подбирает сам.
Единицы измерения информации
Раз всё сводится к битам, объём данных измеряют в них же: бит — минимальный ответ «да или нет», байт — восемь бит. Дальше идут килобайты, мегабайты, гигабайты и терабайты, причём приставки трактуют двояко — как тысячу и как 1024, из-за чего цифра на коробке накопителя расходится с цифрой в проводнике. Скорость канала принято считать в битах в секунду, а размер файла — в байтах, поэтому напрямую сравнивать эти величины нельзя. Бит, байт, двоичные приставки и переводы между единицами подробно разобраны в статье про двоичный код.
Типовые задачи на кодирование информации
Школьные задачи по теме сводятся к нескольким шаблонам, и те же прикидки нужны вне школы — при оценке объёма хранилища или ширины канала.
- Сколько бит на символ. Дана мощность алфавита N, нужно найти i. Берём ближайшую степень двойки не меньше N. Алфавит 60 знаков → 2⁶ = 64 ≥ 60 → 6 бит на символ.
- Объём текста. Количество символов умножаем на разрядность. Страница из 2400 знаков в однобайтовой кодировке — 2400 байт; она же сплошной кириллицей в UTF-8 — примерно вдвое больше.
- Объём растрового изображения. Ширина × высота × глубина цвета. При переводе в килобайты делим на 1024 и следим за единицами, в которых спрашивают ответ.
- Объём звукозаписи. Частота дискретизации × разрядность × число каналов × длительность. Стерео удваивает результат, моно — нет.
- Мощность алфавита по объёму. Обратная задача: известен размер сообщения и число символов, ищем разрядность делением, затем N = 2ⁱ.
Две ошибки встречаются чаще прочих: потеря множителя 8 при переходе между битами и байтами и забытые каналы у звука или альфа-канал у изображения. Приём проверки — выписать все множители в строку с единицами измерения и убедиться, что размерности сокращаются в нужную сторону.
Кодирование, шифрование, сжатие и хеширование — четыре разные операции
Эти четыре слова регулярно смешивают, хотя цели у них противоположные. Разложим по признакам: нужен ли секретный ключ, сохраняется ли объём, возможно ли обратное преобразование.
| Операция | Цель | Нужен ключ | Обратимость |
|---|---|---|---|
| Кодирование | Совместимость, передача по каналу | Нет, правила публичны | Полная |
| Шифрование | Скрыть содержимое от посторонних | Да | Полная, но только с ключом |
| Сжатие | Уменьшить объём | Нет | Полная — без потерь; частичная — с потерями |
| Хеширование | Отпечаток для проверки целостности | Нет | Отсутствует |
Практический вывод: Base64 не защищает данные — раскодировать строку сможет любой, кто её увидит. Шифрованный файл, наоборот, без ключа не прочитать, но объём он почти не меняет.
Сжатие делится на два класса: без потерь (ZIP, PNG, FLAC) исходный файл восстанавливается побайтово, с потерями (JPEG, MP3, H.264) часть данных отбрасывается сознательно и оригинал уже не вернуть.
Хеш — короткая свёртка фиксированной длины от файла любого размера: восстановить исходник из неё невозможно в принципе. Отдельно стоят помехоустойчивые коды, которые добавляют избыточность, чтобы приёмник не просто заметил ошибку, а исправил её без повторной передачи — на этом держатся и QR-код с залепленным логотипом, и чтение поцарапанного диска.
Короткая карта темы
- Кодирование — обратимый перевод сообщения в другую форму по публичным правилам; декодирование — обратный ход.
- Мощность алфавита N и разрядность i связаны как N = 2i; отсюда считаются все объёмы.
- Числа кодируются позиционными системами; двоичная выбрана из-за надёжности двух состояний, hex — для удобства записи.
- Текст: символ получает номер (Unicode), номер записывается байтами (UTF-8, Windows-1251). Несовпадение таблиц даёт «кракозябры».
- Изображение — сетка пикселей и глубина цвета; звук — частота дискретизации и разрядность квантования.
- Машиночитаемые метки: полосы в 1D, матрица модулей с кодом Рида — Соломона в 2D.
- Кодирование ≠ шифрование ≠ сжатие ≠ хеширование: разные цели, ключи и обратимость.
Частые вопросы
Что такое кодирование информации простыми словами?
Кодирование информации — это перевод сообщения из одной формы записи в другую по заранее известным обеим сторонам правилам. По сути это договорённость о том, какой знак что означает. Красный сигнал светофора кодирует запрет движения, три точки в азбуке Морзе кодируют букву S, число 65 кодирует латинскую A в таблице ASCII. Обратная операция называется декодированием: приёмник берёт полученную последовательность знаков и по той же таблице восстанавливает сообщение. Ключевых свойств два. Первое — правила публичны, их описывают в стандартах, чтобы устройства разных производителей понимали друг друга. Второе — преобразование полностью обратимо: из кода всегда можно получить оригинал; если восстановить исходник нельзя, это уже хеширование или сжатие с потерями. Цель кодирования — не спрятать смысл, а сделать сообщение пригодным для конкретного канала или носителя: провода, радиоэфира, памяти компьютера, бумажной этикетки.
Какие существуют способы кодирования информации?
Способы группируют по типу исходных данных. Числа кодируются позиционными системами счисления — двоичной внутри техники, восьмеричной и шестнадцатеричной для удобства записи. Текст кодируется таблицами соответствия: символу присваивается номер по реестру Unicode, номер записывается байтами по правилам кодировки. Растровые изображения кодируются дискретизацией: картинка делится на пиксели, каждому назначается цвет заданной разрядности; вектор вместо точек хранит описание фигур. Звук кодируется двумя шагами: измерением амплитуды через равные промежутки времени и округлением каждого замера до одного из уровней. Видео — это кадры плюс разница между соседними кадрами. Отдельная ветвь — кодирование для канала связи, где алфавитом служат длительности и паузы: азбука Морзе, код Бодо. Ещё одна — машиночитаемые метки: полосы разной ширины в штрих-кодах и матрица тёмных квадратов в QR-коде. Поверх любого способа накладываются служебные схемы: Base64 и помехоустойчивые коды.
Чем кодирование отличается от шифрования?
Целью. Кодирование решает задачу совместимости: превратить сообщение в форму, пригодную для конкретного канала или носителя, чтобы приёмник смог его прочитать. Правила при этом публичны и описаны в открытых стандартах — иначе устройства разных производителей не договорились бы между собой. Шифрование решает противоположную задачу: сделать содержимое недоступным для всех, кроме владельца ключа. Алгоритм тоже может быть общеизвестен, но без ключа он бесполезен. Отсюда вывод, который часто нарушают: Base64 — это кодирование, а не защита. Такая строка читается любым онлайн-декодером за секунду, поэтому хранить в ней пароли равносильно хранению их открытым текстом. Второе отличие — в обратимости. Кодирование раскодируется всегда и однозначно, шифрование — только с правильным ключом; при утере ключа данные теряются безвозвратно. Рядом стоят ещё две операции: сжатие уменьшает объём без всякого ключа, а хеширование даёт необратимый отпечаток для проверки целостности.
Как кодируются текст, звук и изображение?
Текст проходит три стадии. Символу назначается номер по реестру Unicode, номер записывается в байты по правилам выбранной кодировки, приёмник по той же таблице восстанавливает символы. В UTF-8 длина записи переменная: латиница занимает один байт и совпадает с ASCII, кириллица — два байта, иероглифы — три, эмодзи — четыре. В однобайтовых кодировках вроде Windows-1251 на символ всегда отводится восемь бит, поэтому в таблицу помещается только 256 знаков. Изображение кодируется сеткой: картинку разбивают на пиксели, каждому назначают цвет. Глубина в 24 бита даёт около 16,7 миллиона оттенков, а объём несжатого файла равен произведению ширины, высоты и глубины цвета. Звук измеряют через равные промежутки времени — 44 100 раз в секунду для качества компакт-диска, — а каждый замер округляют до одного из уровней; 16 бит дают 65 536 уровней громкости. Частота выбрана по теореме Котельникова: она вдвое превышает верхнюю границу слышимого диапазона. Поверх сырых данных работает сжатие — без потерь (PNG, FLAC) или с потерями (JPEG, MP3).
Сколько бит нужно на один символ и как это посчитать?
Разрядность считается по формуле алфавитного подхода: если в алфавите N различных знаков, а на каждый знак отводится i бит, то N = 2 в степени i. Обратное соотношение — i равно двоичному логарифму от N. Проверяется перебором: одним битом различаются два состояния, двумя — четыре, тремя — восемь, восемью — 256. Когда N не является точной степенью двойки, результат округляют вверх, и часть комбинаций остаётся неиспользованной. Русский алфавит из 33 букв в пять бит не помещается, поскольку пять бит дают только 32 варианта, значит нужно шесть бит на букву. Алфавит из 256 знаков требует ровно восемь бит, то есть один байт — поэтому однобайтовые кодировки вмещают 256 символов, не больше. Дальше от разрядности считается объём: число символов умножается на число бит и делится на восемь, если ответ нужен в байтах. Страница в 2400 знаков в однобайтовой кодировке занимает 2400 байт; та же страница сплошной кириллицей в UTF-8 — вдвое больше. Главная ошибка при подсчёте — потеря множителя 8 между битами и байтами.
Чем кодирование отличается от шифрования и сжатия?
Три операции решают разные задачи, хотя все три превращают одни данные в другие. Кодирование переводит информацию в форму, удобную для передачи и хранения: у него нет секрета, правила открыты, и обратное преобразование доступно любому, кто знает схему. Именно поэтому QR-код читает любой смартфон — таблица соответствий опубликована в стандарте.
Шифрование добавляет ключ: без него восстановить исходные данные нельзя, даже зная алгоритм. Цель не удобство, а закрытость. Сжатие же убирает избыточность, чтобы результат занимал меньше места, и делится на обратимое и с потерями. На практике операции комбинируют: файл сначала сжимают, потом шифруют, а для передачи по каналу, который понимает только текст, ещё и кодируют в печатные символы. Порядок важен — зашифрованные данные почти не сжимаются, потому что выглядят случайными.