[oodisc] Архивация и компрессия ООо файлов ?
Николай Кузнецов
nick222 на yandex.ru
Сб Сен 23 11:33:38 MSD 2006
Здравствуйте, ОО!
Понадобилось мне тут как-то сделать ряд небольших файлов (в
значительной степени *повторяющегося* содержания) и переслать коллеге.
Сделал файлы ООо, экспортнул в MS Word, заархивировал в пакет и послал
мылом.
Затем обратил внимание на суммарный размер использованных файлов ООо и
размер получившегося архива файлов Ворд - архив Ворд был _существенно_
меньше.
Для проверки заархивировал исходные файлы ООо - архив оказался значимо
больше архива файлов Ворд с _тем же содержанием_...
Почему так - понятно: при вычислении словаря используется содержание
файла - в случае файлов ООо уже готовый архив, в случае МС Ворд внутри
файла "видны" одинаковые слова в Уникоде - которые и "гребутся" в
словарь как одно вхождение.
Т.к. всё больше и больше софта переходит на принцип организации файла
- пакет XML, архивированный ZIP (МСО 2007, ООо, SVGZ, новый формат
Fiction Book явно тоже будет такой и т.п.), - то мне подумалось, что
правильная модель архивации таких файлов была бы следующей:
1) Берём файлы, проверяем - архив ли это, есть ли внутри ХМЛ.
2) Разархивируем такие файлы во временную директорию, каждый в свою -
со служебными именами директорий.
3) Делаем список имён исходных файлов и список соответствующих им
директорий.
4) Все эти директории и файл из (3) архивируем в один архив и сжимаем.
ИМХО - будет существенно меньший архив - хотя его создание больше (что
ещё непонятно - за счёт возрастания скорости построения словаря)
займёт времени.
Если ещё взять как итоговый архиватор-компрессор не ZIP, а что-то типа
7-zip, то вообще будет просто песня :)
Спасибо!
--
С уважением, Николай Кузнецов
OpenOffice 2.0.3 RU Проф от Инфры P-III-500 ОЗУ 512 Мб
Windows 2000 5.0 Pro Eng Build 2195 Service Pack 4
Подробная информация о списке рассылки Oo-discuss