Кодирование, сжатие и архивация
Представьте, что компьютер — это курьер, который умеет перевозить только коробки с номерами (нули и единицы). Любое письмо, фото, песня или видео перед отправкой упаковывают по правилам кодирования: «эта последовательность байтов означает букву А», «эти байты — красный пиксель», «эти — громкость звука в одну тысячную секунды». Без общих правил получатель увидит бессмыслицу.
Эта глава — мост к школьной теме «представление информации». Подробная теория — в разделе Данные и информация; здесь — понятные определения, примеры и порядок чтения.
Информация и данные — в чём разница
★ Информация — сведения, которые имеют смысл для человека: текст песни, смысл SMS, что на фотографии кот.
★ Данные — то же содержание, но записанное формально, как файл или поток байтов на диске или в сети.
| Ситуация | Данные | Информация |
|---|---|---|
Файл report.pdf на диске | Набор байтов | Отчёт, который вы читаете |
| Сообщение «Жду у подъезда» в телефоне | Байты в памяти телефона | Понятная фраза на русском |
| Незнакомый язык | Те же байты | Бессмысленные символы без знания языка |
Программа, не знающая формат PDF, откроет файл как «просто байты» — без таблицы соответствий смысл для машины отсутствует. Человек или специальная программа (читалка PDF) интерпретирует данные по правилам.
С чего всё начинается — бит и байт
★ Бит — минимальная единица: одна ячейка со значением 0 или 1.
★ Байт — 8 бит подряд. Один байт может хранить 256 разных комбинаций (от 00000000 до 11111111), поэтому им удобно кодировать один символ в простых таблицах или часть более сложного кода.
Пример. Буква латинская A в старой таблице ASCII — число 65, в двоичном виде в байте: 01000001. Восьми бит хватает, чтобы закодировать 256 разных значений — для латиницы и знаков препинания этого когда-то хватало; для всех языков мира — уже нет.
Размер файла в проводнике («125 КБ», «4,2 МБ») — это сколько байтов внутри. Префиксы: КБ ≈ тысячи байт, МБ ≈ миллионы, ГБ ≈ миллиарды.
Подробнее: Данные и информация — биты и системы счисления.
Кодирование — общая схема
Кодирование — перевод объекта (символ, цвет, звук) в число, а числа — в байты для хранения или передачи.
Для каждого вида информации свои таблицы и форматы файлов.
Текст — от буквы к байтам
Термины
| Термин | Простыми словами |
|---|---|
| Символ | Буква, цифра, знак, эмодзи |
| Кодовая точка (Unicode) | Уникальный номер символа в мировой таблице |
| Кодировка (UTF-8 и др.) | Как номер записать байтами в файле |
| ASCII | Старая таблица: 128–256 символов, в основном латиница, 1 байт на символ |
Пример — слово «Привет»
- В Unicode у каждой буквы есть номер:
П→ U+041F,р→ U+0440,и→ U+0438 и т.д. - При сохранении в UTF-8 номера превращаются в цепочку байтов. Кириллица чаще занимает 2 байта на букву (латинская
aв UTF-8 — 1 байт). - Если открыть UTF-8 файл программой, которая думает, что это старая кодировка Windows-1251, вместо «Привет» увидите «РџСЂРёРІРµС‚» — те же байты, другая интерпретация.
★ UTF-8 сегодня — стандарт для веба, многих документов и Linux; он совместим с ASCII для английских букв.
Подробнее: Виды информации — текст.
Числа в компьютере
Целые числа
Целые (42, −7, 0) хранят в двоичном виде фиксированным числом бит (например, 32 или 64). Есть правила для знака (положительное / отрицательное). Сложение и сравнение выполняет процессор по тем же битовым правилам.
Дробные числа (плавающая точка)
Числа вроде 3.14 или 0.1 записывают в формате IEEE 754: мантисса + порядок (как «0,314 × 10¹» в научной записи, только в двоичной системе).
Важно для новичка: некоторые десятичные дроби нельзя представить в двоичном виде точно, как 1/3 нельзя точно записать десятичной дробью 0,333…. Поэтому в программах иногда видят:
0.1 + 0.2 → 0.30000000000000004
Это свойство формата хранения дробей. Для денег и точных расчётов используют специальные типы (десятичные); в школьном курсе достаточно знать, что дроби в памяти — приближение.
Подробнее: Числа и типы данных, ЭВМ — представление чисел.
Изображение — пиксели и цвет
★ Пиксель — маленький «квадратик» цвета на экране.
★ Растровое изображение — таблица пикселей: для каждой точки хранят цвет (часто RGB: красный, зелёный, синий по 0–255).
Разбор размера «сырого» файла без сжатия:
Фото 4000×3000 пикселей, 3 байта на пиксель (RGB):
4000 × 3000 × 3 = 36 000 000 байт ≈ 34 МБ
В JPEG тот же снимок может занять 300 КБ, потому что алгоритм убирает детали, которые глаз почти не замечает (сжатие с потерями). В PNG картинку сжимают без потерь — каждый пиксель восстанавливается точно; для фото PNG обычно тяжелее JPEG.
★ Вектор (SVG) — хранятся формулы линий и заливок; при показе они растеризуются в пиксели под размер экрана.
Звук — от волны к цифрам
Звук в природе — непрерывная волна давления в воздухе. В цифре его дискретизируют:
- Частота дискретизации (например, 44 100 Гц) — сколько отсчётов в секунду снимают с волны.
- Разрядность (например, 16 бит) — насколько точно в каждом отсчёте задают громкость.
Чем выше частота и разрядность, тем ближе к оригиналу и тем больше файл.
| Формат | Суть |
|---|---|
| WAV | Часто без сжатия, большой размер, «как сняли» |
| MP3, AAC | Сжатие с потерями, удобно для музыки |
| FLAC | Сжатие без потерь для аудиофилов |
Видео — кадры + звук + умное сжатие
Видео — это много картинок подряд (кадров, обычно 24–60 в секунду) плюс звуковая дорожка. Если хранить каждый кадр как отдельное полноразмерное фото, файл был бы огромным.
Кодеки (H.264, VP9, AV1 и др.) используют идею: соседние кадры почти одинаковы — сохраняют изменения, а не всю картинку заново. Бывают ключевые кадры (полная картинка) и промежуточные (только отличия от предыдущего).
Контейнер MP4, WebM — «коробка», в которой лежат закодированное видео и аудио.
Сжатие и архивация — разные задачи
| Понятие | Задача | Пример из жизни |
|---|---|---|
| Сжатие | Уменьшить один файл | JPEG для фото, MP3 для песни |
| Архив | Сложить много файлов в один контейнер | Папка проекта → project.zip |
Архиватор (ZIP, 7z, RAR) часто и объединяет файлы, и сжимает их. Формат TAR исторически только «склеивает» файлы; сжатие добавляют отдельно (tar.gz).
Внутри DOCX (Word) — тоже ZIP с XML и картинками: офисные форматы часто построены на архиве + сжатии.
Подробнее: Что такое архив, Исполняемые файлы и архивы.
С потерями и без — когда что
| Тип | Можно восстановить исходник точно? | Где применяют |
|---|---|---|
| Без потерь | Да | PNG, ZIP, FLAC, исходники программ |
| С потерями | Нет, только «похоже» | JPEG, MP3, большинство видео в интернете |
С потерями выбирают, когда важнее размер и скорость (стриминг, сайты), без потерь — когда важна точность (чертёж, скан документа, архив исходников).
Сводная таблица по видам
| Вид | Что кодируем | Типичные форматы | Где углубиться |
|---|---|---|---|
| Текст | Символ → Unicode → байты | .txt, .docx, HTML | 1-09/2 |
| Числа | Целые, float | в программах, CSV, JSON | 1-09/3 |
| Изображение | Сетка пикселей + цвет | PNG, JPEG, WebP | 1-09/2 |
| Звук | Отсчёты амплитуды во времени | WAV, MP3, FLAC | 1-09/2 |
| Видео | Кадры + звук + сжатие между кадрами | MP4, WebM | 1-09/2 |
- Почему фото 4000×3000 в «сыром» RGB — десятки мегабайт, а в JPEG — сотни килобайт?
- Чем отличается «архив homework.zip» от «фото сжатого в JPEG»?
- Что произойдёт, если открыть UTF-8 файл в неправильной кодировке?
Ответы: сжатие с потерями в JPEG; архив объединяет много файлов, JPEG сжимает один; кракозябры вместо букв.
Рекомендуемый порядок чтения
- 1-09/1 — биты, байты, системы счисления.
- 1-09/2 — четыре вида информации и сжатие.
- По желанию: 1-09/3 — типы в программировании.
- 1-20/2 — архиваторы.
Дальше по курсу: Компьютер и периферия.
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). Вход в учебный курс: зачем раздел, чем он отличается от соседних глав энциклопедии и в каком порядке проходить темы. Устройство ПК простыми словами: процессор, память, диски, ввод-вывод и сеть — с пояснением терминов и маршрутом по энциклопедии. Алгоритмизация, блок-схемы, классификация языков, этапы создания программы и маршрут по Visual Basic — со ссылками на разделы «Программа» и «Код». Операционная система, файлы, NTFS и FAT, антивирус и утилиты — с разбором терминов для начинающих и ссылками на подробные главы. Интернет, адреса, DNS, URL, почта, поиск, RSS и безопасность — с разбором терминов для новичка и маршрутом по энциклопедии. Авторское право на программы, лицензии, персональные данные и основные статьи УК РФ о преступлениях в сфере компьютерной информации — вводный обзор. Эргономика, освещение, перерывы, правила компьютерного класса и безопасность — подробный обзор для школьного курса и домашней учёбы. Путеводитель по популярным средам: Python-библиотеки, графика, игры, мобильные приложения и школьные платформы — с ссылками на подробные главы энциклопедии. Краткие итоги курса «Базовая информатика» — кодирование, железо, ОС, интернет, алгоритмы, право и рабочее место. Вопросы для самопроверки по курсу «Базовая информатика» — кодирование, железо, ОС, интернет, алгоритмы, право и рабочее место.Базовая информатика — с чего начать
Компьютер, периферия и сетевое оборудование
Алгоритмы, языки и программирование
ОС, файловые системы и служебные программы
Интернет и сетевые сервисы
Право и защита информации в РФ
Организация рабочего места
Инструменты и среды разработки
Итоги
Чек-лист самопроверки