Как работает архив не
Как работает трансформатор знают все: «У-у-у-у-у. ».
Многие считают, что архиватор работает аналогичным образом.
Это не совсем так.
Работа архиватора состоит из нескольких последовательных шагов. Сначала он просматривает байт за байтом входной файл. Для текущей позиции в файле он ищет самый длинный повтор в предыдущей части файла:
Строчки могут перекрываться, например так:
Длины обычно невелики, а вот смещения могут оказаться очень большими, до нескольких миллионов. Для эффективного кодирования этих чисел архиваторы идут на всевозможные ухищрения, в результате которых коды смещений оказываются чаще всего небольшими числами.
Два потока чисел, полученных на первом шаге передаются на второй шаг, где их сжимают либо с помощью арифметического кодирования, либо с помощью кода Хаффмена.
Это коды переменной длины, то есть для кодирования каждого символа используется разное количество битов: часто встречающиеся символы кодируются короткой цепочкой битов, редко встречающиеся — более длинной.
Один из самых известных примеров такого кода — азбука Морзе.
Какие же получаются результаты?
Рассмотрим, для примера несколько популярных архиваторов: ARJ, RAR, ZIP, 7Z и сожмем с их помощью два файла:
- «Война и мир.fb2» — роман Льва Толстого «Война и мир» длиной 5 564 044 байт,
- EXCEL.EXE — исполняемый файл из MS Office длиной 18 352 488 байт.
Вот получающиеся результаты сжатия (размер полученного архива в байтах):
| Архиватор | Война и мир.fb2 | Excel.exe |
|---|---|---|
| ARJ | 1 586 779 | 9 819 278 |
| RAR | 913 989 | 7 921 519 |
| ZIP | 1 547 000 | 9 800 479 |
| 7Z | 1 104 753 | 6 898 313 |
Таким образом, коэффициент сжатия — от 3 до 6.
Большинство архиваторов имеют GUI — графическую оболочку, в которой все необходимые действия и параметры вы можете задать в диалоге. При этом не надо помнить всевозможные команды и ключи архиватора, а их обычно — несколько десятков.
С другой стороны, если вы каждый день используете архиватор для выполнения одних и тех же действий например, для хранения (на всякий случай) результатов сегодняшней работы, то работа в диалоге становится утомительной и опасной, — можно забыть указать что-то нужное или просто не в том месте поставить галочку. В этом случае лучше один раз набрать в bat-файле необходимую команду со всеми ключами и для вызова архиватора просто запускать этот bat-файл.
Ещё одна интересная возможность, которая, правда, реализована не во всех архиваторах — сплошной (solid) архив. Обычно при упаковке в один архив нескольких файлов каждый из них сжимается независимо от остальных. В результате, если одна и таже цепочка символов встречается в разных файлах, мы не получаем никакого выигрыша при сжатии. При сплошном сжатии все файлы «мысленно» сливаются в один файл и лишь потом сжимаются. В некоторых случаях, например при сжатии большого количества небольших похожих текстов, это может дать очень существенный выигрыш. Правда следует понимать, что в таком случае для извлечения из архива одного-единственного файла, придется архив распаковывать с самого начала.
Помимо обычного сжатия, архиваторы обладают многими очень полезными функциями, например, шифрование. Команда в архив с именем arch.rar положит все файлы с расширением txt из текущего каталога и его подкаталогов. Архив будет зашифрован с паролем «12345». Для извлечения файлов из архива даем команду Не зная пароля архив не распаковать. Если вы забыли или не точно помните одну-две буквы, можно попытаться подобрать пароль простым перебором. Но не следует надеяться подобрать «полностью забытый» пароль — устанете ждать.
Если вы не хотите в открытую набирать пароль на клавиатуре, можно дать команду не указывая никакого пароля. В этом случае архиватор предложит ввести его с клавиатуры в «секретном» режиме, то есть не отображая вводимые символы на экране.
В некоторых случаях без паролей вообще никак не обойтись. Многие почтовые системы (mail.ru, gmail.com и др.) не хотят пересылать exe-файлы (а также dll, скрипты и некоторые другие), — боятся вирусов. Более того, если вы попытаетесь переслать exe-файл через mail.ru, то отправка писем с этого адреса будет блокирована на несколько дней, правда приниматься письма всё равно будут.
Можно попытаться обмануть почтовую систему и упаковать пересылаемые файлы в архив. Но почтовые системы и эту хитрость знают и файл всё равно не пропустят. Единственная возможность — упаковать файлы в архив с паролем. На этом почтовая система сдается и файл пропускает. Пароль (чтобы не забыть) лучше указать тут же, в теле письма. И не надо выдумывать пароли типа: хотя это вполне нормально сработает. Лучше ограничиться паролем Не ищите приключений на свою голову!
Очень полезной возможностью архиваторов является работа с архивным битом. Дело в том, что операционная система для каждого файла хранит не только его имя, длину, но и дату и время последнего изменения файла, дату и время последнего обращения к файлу и некоторые другие параметры. Среди них — архивный бит. При создании файла, при его копировании, перемещении, при любом изменении этот бит устанавливается в 1. Поэтому почти у всех файлов на вашем компьютере он равен 1. Однако архиватор имеет возможность обнулять этот бит для тех файлов, которые были упакованы в архив. Команда упакует в архив только файлы у которых архивный бит равен 1 (ключ -ao) и затем сбросит этот бит в 0 (ключ -ac). В результате в архив будут упакованы лишь файлы, которые были созданы или изменены после предыдущей архивации. Если, например, в вашем рабочем каталоге 100 тысяч файлов, общий размер архива может составить несколько гигабайт. Если же в архив упаковывать лишь файлы, которые изменились с момента предыдущей архивации, ежедневный архив получится совсем небольшим.
Можно сделать так, чтобы имя получаемого архива зависело от даты и времени. Комадна создает архив с именем (24 октября 2013 г. время 9 часов 02 минуты 45 секунд). В этом архиве будут лежать файлы из текущего каталога и его подкаталогов (ключ -r) с расширением txt, но не все, а лишь те, которые изменились с момента предыдущей архивации.
Многие архиваторы умеют создавать многотомные архивы. Эта возможность появилась в древности потому, что архивы часто хранились на дискетах, объём которых был фиксирован (360К, 1.2М или 1.44М байт), и архивы перестали помещаться на дискету. Поэтому архивный файл резался архиватором на части заданного размера, каждую из которых можно было хранить на одной дискете.
В настоящее время эта возможность используется при пересылке больших файлов по почте. Многие почтовые системы не хотят пересылать большие файлы (10М байт и более). В этом случае вы можете упаковать его в многотомный архив. Команда создат файлы размером по 6М байт каждый (кроме последнего).
Сжимать с помощью архиватора фотографию — не очень хорошая идея. Возьмем, например, BMP-файл с фотоаппарата размером 4288*2848 точек. Его размер — 36М байт. В результате сжатия архиватором RAR получим файл размера 12М байт. То есть размер уменьшился в 3 раза. Если же мы сохраним тот же файл в формате JPEG, размер файла можно уменьшить в несколько десятков раз. Правда, этот формат — с потерями. Подробнее про него можно узнать здесь .
Источник
Как правильно разархивировать файл из ZIP и RAR с помощью программ WinRAR и 7-Zip
На компьютере у нас лежат файлы разного формата: видео, аудио, текстовые, графические. У каждого из них есть расширение – текст после точки в конце названия. Оно показывает, какой именно формат у данного документа, и каким приложением его можно открыть.
У архивов тоже есть свое расширение. Заглянуть внутрь и извлечь содержимое можно, имея специальные утилиты. Сегодня мы разберемся, как разархивировать файлы, какими бывают архивы, какое дополнительное программное обеспечение нам может понадобиться, где его искать и как использовать.
Что такое архивы на компьютере и для чего они нужны
Как я уже сказала, у каждого документа на компьютере, ноутбуке и в телефоне есть свое расширение, которое указывает на его формат. Архив – это не обычный файл, а как бы контейнер для хранения информации, специальная папка, которая обладает особенной способностью уменьшать размер содержимого.
Нужны такие контейнеры для того, чтобы не занимать лишнего места на диске. Также архивирование, то есть сжатие, часто используется при отправке документов по электронной почте или через облачные хранилища.
Приведу пример. У меня есть скачанный с официального сайта архив с portable-версией Telegram. Весит он 25 мегабайт, такой размер допустим даже для отправки через Google-почту. После распаковки папка весит уже не 25, а 46 мегабайт. Разница довольно существенная, правда?
Чем меньший объем занимают материалы, тем легче их скачать из интернета, выложить в сеть и переслать кому-либо.
Еще одно преимущество данного формата в том, что на архивные файлы можно установить пароль, и тогда никто посторонний не сможет их открыть. Я периодически пользуюсь этим преимуществом для отправки важной информации.
Что значит разархивировать файл
В одном архивном хранилище может находиться 1 или сразу несколько документов. Разархивировать – это значит извлечь, достать их и положить в обычную папку на диске. При этом происходит как бы копирование материалов, они останутся в архиве и продублируются в обычном виде без сжатия в указанной директории.
Как распаковать архив средствами Windows
Есть несколько основных форматов архивных документов, самые распространенные – это ZIP, RAR, 7z. Если у вас нет специального программного обеспечения для архивации и разархивации файлов, то извлечь материалы из RAR и 7z-архивов не получится.
Если же перед нами архивный файл с расширением ZIP, то открыть его можно при помощи встроенных возможностей операционной системы Windows.
Для этого кликаем по объекту правой кнопкой мыши и в выпавшем перечне опций нажимаем на пункт “Извлечь все”, затем выбираем место на диске и подтверждаем действие. Также можно зайти в архив двойным нажатием левой кнопки мыши и просто перетащить содержимое в любое место на диске, как при обычном копировании.
Если эти приемы не помогли, и Windows не справляется с задачей, в контекстном меню нет таких команд, либо перед вами хранилище с другим расширением, то понадобится дополнительное ПО, которое нужно будет установить на компьютер.
Программы для работы с архивами
Чтобы правильно сжать информацию, а затем распаковать ее и получить в первоначальном виде, есть специальное программное обеспечение. Самые популярные приложения на сегодняшний день – это 7-Zip и WinRAR. Есть, конечно, и другие решения, но я доверяю именно этим продуктам и сейчас расскажу о них подробнее.
Я давно пользуюсь этим бесплатным приложением, и оно меня вполне устраивает, работает со всеми популярными форматами документов и позволяет быстро осуществлять все необходимые действия.
Скачать и установить архиватор можно с сайта 7-zip.org. Выберите версию, соответствующую вашей операционной системе.
После загрузки откройте файл и произведите установку. Обычно она занимает не больше полминуты.
Теперь кликните по архиву правой кнопкой мыши, в контекстном меню найдите и наведите курсор на пункт “7-Zip”, а потом выберите нужное действие.
Если мы выберем просто распаковку, то перед нами появится диалоговое окно, в котором указывается путь для хранения файлов, пароль, если он нужен, и способ перезаписи, если документ с таким именем уже существует.
Те же действия можно осуществить, если 2 раза кликнуть левой кнопкой мышки и открыть архив. Перед нами появится окно с различными опциями.
WinRAR
Это, пожалуй, наиболее популярное универсальное приложение. Загрузить его можно с официального сайта win-rar.com.
Теперь открываем скачанный файл и устанавливаем архиватор.
Примечание: официальную версию программы можно использовать бесплатно в течение 40 дней, затем нужно будет внести плату, которая сейчас составляет 33,38 евро, или она прекратит свою работу. Также вы можете скачать пиратскую бесплатную программу с любого известного вам сайта.
В процессе установки можно настроить параметры:
- расширения архивных документов, с которыми нужно работать;
- добавить значок WinRAR на рабочий стол и в меню “Пуск”;
- встроить WinRAR в оболочку Windows и показывать его функции в контекстном меню.
Можно оставить установки по умолчанию или отметить нужные вам пункты.
Сразу после установки можно сделать распаковку любого архива. Для этого нажимаем на него правой кнопкой мыши и кликаем по одному из действий.
При извлечении в текущую папку мы сразу увидим разархивированные материалы. Если кликнуть по второму пункту, то увидим диалоговое окно. Здесь можно выбрать:
- директорию для хранения данных;
- режим обновления;
- режим перезаписи, если в папке обнаружится документ с тем же именем;
- сохранять или нет поврежденные файлы, в некоторых случаях их можно хотя бы частично прочитать.
Также тут есть дополнительные параметры, возможно, они вам пригодятся.
Различные действия можно совершать с содержимым архива после его открытия. Для этого выбираем соответствующий пункт в контекстном меню или просто дважды кликаем левой кнопкой мыши, а затем идем в нужный нам раздел меню.
Многотомные архивы
Честно говоря, я давно не сталкивалась с таким явлением. Сейчас даже большой файл можно загрузить в облачное хранилище, если он не проходит по почте. Но иногда все же вам могут прислать такой интересный разбитый на тома архивный пакет, и нужно знать, как с ним работать. Распознать его можно по характерной приписке в конце названия “part1”, “part2” и так далее.
Распаковывается такой многотомник точно так же, как показано на простых файлах. Жмем правой кнопкой мыши на любой части и извлекаем все содержимое. Но, чтобы распаковка прошла гладко, все части должны находиться в одной папке. Если какого-то фрагмента не хватает, то ничего не получится, программа выдаст сообщение вот такого плана.
Укажите путь к недостающим фрагментам, иначе архиватор будет негодовать и выдаст ошибку.
Заключение
Мы с вами разобрались, как извлечь информацию из разных архивов, рассмотрели 2 самые популярные и удобные программы для этой цели. Надеюсь, у вас все получилось, и вы добрались до содержимого архивных папок. Если все же остались вопросы, вы хотите поделиться своим опытом или предложить другие классные приложения для разархивирования документов, обязательно пишите об этом в комментариях.
Источник