Входной поток нарезается на куски по 8 байт. Перед каждым куском вставляется байт с маской, каждый бит в которой соответствует входному байту. Нулевые байты выбрасываются, помечаясь нулями в маске. Размер выходного файла от 9/8 до 1/8 входного. Программа распаковки примитивнейшая. Скорость распаковки (важна для некоторых приложений) - высокая.