Почему один и тот же файл весит по-разному? .txt маленький, а .jpg большой
Заметил странность: текстовый файл на много страниц весит пару килобайт, а одна фотка — несколько мегабайт. Хотя на экране фотка маленькая. Почему так? От чего вообще зависит, сколько весит файл?
2 ответа
Вес файла зависит от того, сколько данных нужно, чтобы его описать, а не от того, как он выглядит на экране.
- Текст хранится очень компактно: один символ — примерно 1–2 байта. Даже большая статья — это пара десятков тысяч символов, то есть пара десятков килобайт. Дёшево.
- Фотография — это сетка из миллионов пикселей, и для каждого нужно записать цвет. Фото 12 мегапикселей = 12 миллионов точек, для каждой ~3 байта цвета. Даже после сжатия это мегабайты.
Поэтому картинка с телефона тяжелее, чем целая книга текста: в книге — буквы, в фото — миллионы цветных точек. На экране фото может быть маленьким, но внутри файла хранится оно в полном разрешении.
Полезно знать про сжатие. Форматы вроде .jpg и .mp3 хитро выбрасывают то, что глаз/ухо почти не замечают, и за счёт этого файл становится меньше (это «сжатие с потерями»). Поэтому одна и та же картинка в .jpg весит меньше, чем в .png или .bmp. А вот ZIP-архив сжимает без потерь — данные потом восстанавливаются точь-в-точь.