Как сделать сжатый дифференциальный архив в .NET? - PullRequest
0 голосов
/ 30 июня 2010

У меня есть байтовые массивы размером несколько десятков мегабайт.Такие большие массивы не являются счастливыми существами, особенно когда их много.Поэтому я хотел бы сжать их, чтобы с ними было легче иметь дело.Они хорошо сжимаются, как правило, в соотношении 3: 1 с DotNetZip, установленным на BestSpeed.

Данные в массивах могут быть практически идентичными.Учитывая это, я надеялся найти какой-то способ программно сжимать массивы по-разному, во многом как программное обеспечение для контроля версий или резервного копирования.Таким образом, если у меня есть три массива по 30 МБ, которые отличаются только в редких местах, мой zip-файл будет ближе к 10 МБ вместо 30 *.сжатый, архивный, резервный, разностный, дифференциальный ... ни один из моих терминов не содержит ничего полезного.Что я должен искать?

1 Ответ

0 голосов
/ 30 июня 2010

Возможно, вы захотите узнать, как работает протокол rsync в Unix. По сути, он вычисляет различия между двумя файлами и использует его для создания сжатой дельты, используемой для вычисления изменений.

Возможно, вы сможете адаптировать это к тому, что вы пытаетесь сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...