Сжатие и восстановление сжатого файла
Тома NTFS поддерживают сжатие файла на основе отдельного файла. Алгоритм сжатия файла, используемый NTFS -это алгоритм сжатия Лемпеля - Зива. Это - алгоритм сжатия без потерь (lossless); это означает, что никакие данные не теряются при сжатии и восстановлении файла, в противоположность алгоритмам сжатия с потерями (lossy) типа формата сжатия файла изображения JPEG, где некоторые данные теряются каждый раз, когда происходят сжатие и восстановление сжатых данных.
Сжатие данных уменьшает размер файла, свертывая избыточные данные. В текстовом файле, избыточными данными могут быть часто встречающиеся символы, такие как пробел или обычные гласные буквы, такие как буквы e и a; могут также часто встречаться и строки символов. Сжатие данных создает сжатую версию файла, свертывая эти избыточные данные.
Каждый тип алгоритма сжатия данных свертывает избыточные данные уникальным способом. Например, алгоритм шифрования Хоффмана (Huffman encoding algorithm) назначает код символам в файле, основанном на том, как часто эти буквы или знаки встречаются. Другой алгоритм сжатия, называемый шифрованием длины серии (run-length encoding), создает значение из двух частей для повторных символов: первая часть определяет количество повторов символа, а вторая часть идентифицирует букву или знак. Еще один алгоритм сжатия, известный как алгоритм Лемпеля - Зива (Lempel-Ziv algorithm), преобразует строки переменной длины в равномерный код , который потребляет меньше пространства чем первоначальные символьные строки.