Skip to main content

Что такое сжатие кода?

Компьютерный код можно считать ДНК цифрового мира - необработанные строки данных, которые составляют все программы, графические файлы и цифровую музыку. Чем больше и сложнее файл или приложение, тем больше в нем кода. Учитывая конечные ограничения жестких дисков и других типов хранилищ данных, сжатие кода часто используется для временного уменьшения размера файлов. Он работает с использованием специальных алгоритмов, чтобы меньший кусок кода обозначал больший кусок. Данные могут быть сжаты и распакованы таким образом, если программа сжатия знает правильный алгоритм для ее разблокировки.

Большинство людей, которые знают, как пользоваться компьютером, хотя бы мимолетно знакомы с тем, как хранятся данные, в терминах килобайт, мегабайт, гигабайт и т. Д. Чего они могут не понять, так это отношения между этими единицами измерения и реальными словами, графикой, музыкой и программами, которыми они манипулируют на экране. Один байт представляет один символ текста, а сам состоит из восьми меньших единиц, известных как биты. Биты являются необработанными компонентами цифровой информации, и то, как они расположены, позволяет использовать разные буквы алфавита, цифры или другие символы.

Программа сжатия кода берет биты и байты, составляющие данный файл, и кодирует их так, чтобы один или два символа сжатой версии представляли большее количество оригинала. Два основных типа сжатия кода известны как с потерями и без потерь . Сжатие с потерями можно использовать в тех случаях, когда допустима некоторая потеря данных, например, в музыкальных файлах, в которых некоторые частоты не нужны. По сути, алгоритм с потерями подсчитывает, сколько раз данный раздел данных повторно используется в файле, и генерирует меньший фрагмент кода, подсчитывающий это число. С помощью этого метода обычно можно добиться более высокого сжатия, и формат MP3 является примером этого типа сжатого файла.

Основное функциональное различие между сжатием с потерями и сжатием без потерь заключается в том, что при сжатии с потерями данные, которые не могут быть сжаты, отбрасываются, тогда как сжатие без потерь сохраняет их без сжатия. Это приводит к увеличению размеров сжатых файлов, но сохранению исходного качества файлов. Текстовые документы и другие подобные файлы, в которых информация не может быть потеряна, должны быть сжаты таким образом.

Вообще говоря, сжатый файл нельзя использовать или манипулировать, если он сначала не распакован. Сжатие является временным состоянием, поэтому используется в основном для хранения или передачи. Однако это не распространяется на сжатые музыкальные и видеофайлы, для которых существуют программы, которые можно декодировать на лету во время воспроизведения.