Стиснення даних
Стиснення – це процес, за допомогою якого ми можемо значно зменшити простір, який наші дані займають у пам’яті, зберігаючи при цьому їх вміст відносно незмінним. Ми використовуємо його, коли хочемо заощадити місце в пам’яті або коли нам потрібно кудись надіслати дані. Коли ми застосовуємо стиснення до файлу, ми стискаємо його, коли ми хочемо повернути вихідний вміст, ми розпаковуємо його.
Стиснення без втрат зберігає всю інформацію, що міститься у файлі, тому ми не втрачаємо жодних даних і можемо будь-коли повернутися до вихідної версії файлу. Недоліком цього типу стиснення є те, що він не може зменшити розмір настільки ж ефективно, як і стиснення із втратами. Він дуже часто використовується для текстів і для стиснення файлів незалежно від їх формату. Стеснення без втрат використовують, наприклад, архіви ZIP і RAR, які можуть стискати кілька різних файлів або папок одночасно. Іншими форматами зі стисненням без втрат є PNG, GIF (зображення) і FLAC (відео).
Одним із простих алгоритмів стиснення без втрат є RLE (кодування серії). Кодує ряд послідовних ідентичних символів у пару (кількість значень, значення). Наприклад, рядок aaaaaa кодується як 6a, рядок ccccddce як 3c2d1c1e.
Стиснення з втратами ефективніше зменшує розміри файлів. Однак під час стиснення ми можемо назавжди втратити частину інформації, яка була в оригінальному файлі. Тому стиснутий файл може містити дещо спотворені деталі або бути нижчої якості, ніж оригінал. Він широко використовується для зображень, відео та аудіо. Формати, які використовують стиснення з втратами, це, наприклад, JPG (зображення), MP3 (аудіо), MP4 і OGG (відео).