Как устроены файлы? Разбор / Хабр
Файлы… что вообще может быть проще? Мы все привыкли создавать, удалять, редактировать, перекидываться файлами.
Но можем ли мы заглянуть внутрь каждого файла и понять как он устроен? Конечно можем, поэтому сегодня мы немного покопаемся в бинарном коде и пощупаем метаданные.
Заодно узнаем, почему iPhone зависает от SMS и распотрошим PowerPoint.
Почему форматов файлов так много?
Если бы мы просто могли взглянуть на сырые данные, которые хранятся внутри жесткого диска или SSD, то мы бы не увидели никаких файлов: мы бы увидели только нолики и единички. Потому как, в любом случае, в памяти компьютера всё хранится в виде сплошного потока двоичного кода.
Но как же тогда понять, где заканчивается один файл и начинается другой?
Поначалу эту проблему человечество решало брутально. Люди записывали один файл на один жесткий диск, чтобы уж точно не ошибиться.
CTSS (Compatible Time-Sharing System)
Но потом, люди придумали файловые системы. Если очень упростить, это такое оглавление в котором указано имя файла, где он начинается и его длина. А также всякие метаданные, типа время создания, изменения, и можно ли его перезаписывать.
Но для того чтобы прочитать файл, знать его местоположение и границы на жестком диске недостаточно, ведь нам нужно как-то расшифровать бинарный код.
Для этого и существуют различные форматы файлов. В большинстве операционных систем форматы файлов указываются в виде расширения, которое отделяется точкой от имени файла. А если вы не видите расширения, это нормально. Потому что, по умолчанию, современные ОС их скрывают, но можно поставить галочку в настройках.
Расширение даёт подсказку операционной системе и программам, о том какой тип данных он содержит и как это всё структурировано.
Например, увидев файл droider.jpg операционная система и мы, люди, сразу понимаем, что это картинка в формате JPEG.Естественно, для типов данных и разных задач оптимальной будет разная структура файла. Поэтому и форматов файлов существует огромная масса.
Поэтому давайте разберем, как устроены наиболее популярные форматы файлов от более простых к более сложным.
TXT
Один из самый простых форматов — это TXT. Это текстовый формат. Знаменитое приложение «Блокнот» в Windows работает как раз с этим форматом.
TXT — формат незамысловатый. Он может хранить в себе только простой неформатированный текст, то есть в нем нет никаких выделений, подчеркиваний, курсивов, отступов, разных шрифтов. Только голый текст, а точнее просто символы.
Каждый символ в TXT-формате хранится в виде бинарного кода.
Hello, world!
То что мы с вами видим как осмысленный текст, операционная система видит вот так:
01001000 01100101 01101100 01101100 01101111 00101100 00100000 01110111 01101111 01110010 01101100 01100100 00100001
Каждые 8 цифр, то есть 8 бит этого кода — это отдельный символ.
Например, 01001000 — это “H”, 01100101 — это “e”, и так далее.
01001000 — H
01100101 — e
01101100 — l
01101100 — l
01101111 — o
Но как операционная система расшифровывает эти данные? Всё просто. Операционной системе требуется загрузить таблицу, в которой описано соответствие бинарного кода конкретному символу. Таких таблиц много, самые известные сегодня — CP1251 (Windows), UTF-8 (Android, Mac) и так далее. Такие таблицы, часто называют кодировками. В данном файле используется кодировка UTF-8, то есть 8-битный Юникод.
Unicode Transformation Format, 8-bit — «формат преобразования Юникода, 8-бит»
Подобрав правильную кодировку остается дело техники. Система сопоставляет бинарный код с таблицей кодировки UTF-8 и готово! Но что будет если система подберет кодировку неправильно? Вариантов не много, скорее всего мы увидим крякозябры:
çÁ%%?Ï?Ê%À (кодировка EBCDIC).
И такое часто случается, так как TXT-файл не содержит никакой дополнительной информации о кодировке. И это большой недостаток формата.
Еще интересный момент. Исторически, компьютеры «знали» только латиницу, которая используется в большинстве европейских языков. И тут произошла проблема: 8-бит — это всего лишь 256 возможных значений. Это немного, но этого было достаточно, чтобы закодировать все базовые символы + латинские буквы.
И вдобавок, эту таблицу нужно было загрузить в оперативную память при загрузке компьютера, а у типового ПК в начале 80-х годов редко было больше 640 килобайт оперативки. А использовать 16-битные таблицы (65536 вариантов) было просто невозможно, такая таблица просто не влезла бы в память.
Но мощность компьютеров росла и проблема ушла. К таблицам с латинскими символами добавились кириллические, которые занимали уже не по 8 бит, а по 16 бит каждый. Поэтому текст на русском занимает в два раза больше памяти, при том же количестве символов.
11010000 10011111 11010001 10000000 11010000 10111000 11010000 10110010 11010000 10110101 11010001 10000010 00101100 00100000 11010000 10111100 11010000 10111000 11010001 10000000 00100001
11010000 10011111 — П
11010001 10000000 — р
10111000 11010000 — и
11010000 10110010 — в
…
Привет, мир!
Старики помнят лайфхак, если писать SMS на латинице, то влезет в два раза больше текста.
Всё это как раз из-за кодировки.Кстати, помните все эти случаи, когда iPhone умирал от присланного сообщения со странными символами или картинки? Это как раз связано с тем, что система не могла правильно распознать присланные символы и правильно определить их длину.
Например, вот такое сообщение в своё время заставляло любой айфон уйти в цикличный ребут:
Power
لُلُصّبُلُلصّبُررً ॣ ॣh ॣ ॣ
冗
WAV
Так вот, чтобы у операционной системы не было проблем с пониманием как прочитать файл. Помимо самих данных, в разные форматы стали добавлять данные о данных. То есть метаданные, которые хранятся прямо внутри файла и содержат дополнительную информацию о том, как этот файл прочитать.
К примеру, возьмём файл в формате WAV.
Это простой аудиоформат, который содержит несжатый. Всё CD диски записаны в формате WAV.
Первые 44 байта классического WAV-файла содержат заголовок, к котором указывается полезнейшая информация:
- количество аудио каналов;
- частота дискретизации;
- битовая глубина;
- и многое другое.
Все эти данные позволяют быть уверенным, что аудио будет воспроизведено корректно.
Открытые и проприетарные форматы
Структура WAV хорошо известна и наверное такой файл сможет прочитать практически любой плеер. Всё потому, что WAV-файл — это пример открытого формата.
Есть и другие открытые форматы, которыми вы ежедневно пользуетесь. Например:
- язык разметки web-страниц — HTML;
- картинки — PNG;
- аудио в формате — OGG;
- архива — ZIP;
- видео — MKV;
- электронной книги — EPUB;
- и другие…
Но бывают и закрытые форматы файлов, а точнее проприетарные. Открытие и редактирование таких файлов сторонним софтом часто либо вообще запрещено, либо распространяется по лицензиям.
Проприетарные форматы всем прекрасны, но в отдельных случаях они препятствуют конкуренции в сфере программного обеспечения, так как приводят к замыканию на поставщике. Есть даже такой термин Vendor lock-in.
Старый офис
Например, раньше такая ситуация была с форматами Microsoft Office: DOC, XLS, PPT.
Мало того, что это были проприетарные форматы компании Microsoft и работали только с фирменным ПО. Так еще Microsoft постоянно меняли свою структуру файлов от одной версии MS Office к другой. И в результате? при выходе новой версии офисного пакета? файлы из старого редактора уже не читались новым, а наоборот — и подавно.
Такая ситуация не очень нравилась Европейскому Союзу. Поэтому, ЕС взъелся на тему ограничения конкуренции. В итоге, форматы файлов опубличили, и все научились хотя бы их читать, но для записи в старые форматы, по-прежнему, нужна лицензия Microsoft. И параллельно этому начали разрабатываться открытые форматы.
ODF и OOXML
1 мая 2006 года на свет появился формат формат ODF, что буквально расшифровывается как открытый формат документов для офисных приложений. Он был разработан консорциумом OASIS и Sun Microsystems.
- ODF — Open Document Format for Office Application.
- OASIS — Organization for the Advancement of Structured Information Standards.
Формат основан на универсальном языке разметки XML. А сам файл ODF представляет из себя ZIP-архив с папками, XML-файлами и всякими вложениями в виде картинок, видео и прочим. Иными словами, если открыть такой файл через архиватор мы можем спокойно увидеть все внутренности. Вот так пример открытости!
Microsoft тоже не спал. Под давлением Европейского суда они объединились с рядом компаний в ассоциацию ECMA и разработали свой открытый формат Office Open XML, который появился на свет чуть позже в 2006 году.
OOXML стандартизирован European Computer Manufacturers Association. Standard ECMA-376
К привычным форматом конце добавилась буква X и мы получили: DOCX, XLSX, PPTX.
OOXML — Office Open XML (DOCX, XLSX, PPTX)
OOXML, в целом, очень похож на ODF. Он также основан на XML-разметке и также представляет из себя ZIP-архив. Поэтому вы также можете заглянуть внутрь офисных файлов при помощи любого архиватора. Можно даже вытащить картинки и даже подменить их, что бывает особенно удобно при работе с презентациями или когда вам присылают текстовый документ с картинками внутри файла.
Несмотря на кажущуюся простоту, формат реально сложный. Только основная документация — это 5 тысяч страниц. И это практически без картинок.
Тем не менее, кто-то всё таки смог прочитать всю эту документацию и поэтому на свет появились классные офисные пакеты, например МойОфис, которые умеют работать и ODF форматом, и с Office Open XML, и даже с устаревшими форматами типа DOC.
Но есть важная ремарка про старые форматы. Как правило, современный софт умеет их только читать, но не записывать, потому как это действие требует приобретение лицензии Microsoft. Впрочем, в наше время это действие, мягко говоря, бессмысленно.
Итого
Что мы в итоге узнали? Файлы бывают нескольких типов:
Самые базовые — бинарные. Такие форматы любят придумывать компании, чтобы никто не понял, как их программы хранят данные.
Более открытый вариант — xml-контейнеры. К счастью, большинство популярных офисных форматов сейчас такие. Если хотите работать со всеми этими файлами хоть дома, хоть на бегу, скачивайте программы МойОфис! На этом у нас сегодня всё.
MIME types — HTTP | MDN
Медиа тип (так же известный как Multipurpose Internet Mail Extensions или MIME тип) является стандартом, который описывает природу и формат документа, файла или набора байтов. Он определён и стандартизирован в спецификации RFC 6838 .
Организация Internet Assigned Numbers Authority (IANA) является ответственной за все официально признанные MIME типы, и вы можете найти самый последний и полный лист MIME типов на их странице Медиа Типов.
Важно: Для принятия решения о том, как обрабатывать URL, браузеры используют MIME типы, а не расширения файлов, так что серверам необходимо отправлять правильные MIME типы в Content-Type
заголовке ответа. При неточном задавании этого заголовка, браузеры с большой вероятностью будут неправильно интерпретировать и обрабатывать содержание файлов, из-за чего сайт будет работать неверно.
Простейший MIME тип состоит из типа и подтипа — двух строк разделённых наклонной чертой (/
), без использования пробелов.
тип/подтип
Тип представляет общую категорию, в которой находится тип данных, например video
или text
. Подтип же строго отождествляется с отдельным типом данных, представляемых данным MIME типом. Например, для MIME типа text
, подтипы могут быть plain
(простой текст), html
(HTML source code) или calendar
(для iCalendar/.
ics
).
Необязательный параметр может быть добавлен для указания дополнительных деталей
тип/подтип;параметр=значение
Например, для MIME типов категории text
, необязательный параметр charset
может быть задан для уточнения кодировки, используемой в документе. Для объявления, что пересылаемый файл имеет кодировку UTF-8, необходимо использовать MIME тип text/plain;charset=UTF-8
. При не указании параметра charset
, его значение автоматически будет задано, как ASCII (US
-
ASCII
), если в настройках браузера не будет определено иначе.
MIME типы являются нечувствительными к регистру, но традиционно их пишут строчными буквами, за исключением значений параметров.
Типы
Все типы можно разделить на два класса: дискретные и многокомпонентные. Дискретные типы представляют одиночные файлы, например, одиночный текстовый, музыкальный или видео файл. Многокомпонентные типы представляют документы, составленные из нескольких частей, каждая из которых может иметь свой отдельный MIME тип, или они могут заключать в себе несколько отдельных файлов, передаваемых в одном сообщении. Например, многокомпонентные MIME типы используются для передачи нескольких изображений в одном email.
Дискретные типыВ настоящее время на IANA зарегистрированы следующие дискретные типы:
application
Список IANA- Любой вид бинарных данных, явно не попадающих ни в одну другу группу типов. Данные, которые будут выполняться или как-либо интерпретироваться, или данные для выполнения, которых необходимо отдельное приложение. Для указания базового типа бинарных данных (данных без определённого типа) используют тип
application/octet-stream
. Другие распространённые примеры включаютapplication/pdf
,application/pkcs8
иapplication/zip
. audio
Список IANA- Аудио или музыкальные данные. Примеры:
audio/mpeg
,audio/vorbis
. example
- Тип, зарезервированный для написания примеров, отображающих использование MIME типов. Этот тип никогда не должен использоваться вне примеров кода или документации.
example
может так же использоваться, как подтип. font
Список IANA- Данные шрифтов. Распространённые примеры включают
font
/
woff
,font
/
ttf
иfont
/
otf
. image
Список IANA- Изображения или графические данные, включая векторную и растровую графику, а так же анимированные версии форматов неподвижных изображений, таких как GIF или APNG. Распространённые примеры включают
image/
jpeg
,image
/
png
иimage
/
svg
+
xml
. model
Список IANA- Данные моделей для 3D объектов или сцен. Примеры:
model/3mf
иmodel/vml
. text
Список IANA- Любые текстовые данные, так или иначе доступные для чтения человеку, а так же исходный код или текстовые данные для программ. Примеры:
text
/
plain
,text
/
csv
иtext
/
html
. video
Список IANA- Видео данные или файлы. Например, MP4 фильмы (
video
/
mp
4
).
Любые текстовые документы без определённого подтипа стоит отправлять, как text/plain
тип. Аналогичным образом, application/octet-stream
тип подойдёт бинарным документам при неопределённом или неизвестном подтипе.
Многокомпонентные типы
Многокомпонентные типы описывают категории разграниченных на части документов, где каждая из частей может иметь свой отдельный MIME тип. При работе с электронными письмами, они могут использоваться для описания нескольких отдельных файлов, передаваемых в одном сообщении. Они представляют составные документы.
За исключением multipart/form-data
типа, используемого в POST
методе HTML форм, и multipart/byteranges
типа, используемом в ответе 206
Partial Content
для отправки части документа, HTTP никаким особым образом не обрабатывает многокомпонентные типы, и просто отправляет данные в браузер (который, с большой вероятностью, предложит сохранить переданный файл, тоже не зная как его обработать).
Существуют два многокомпонентных типа:
message
Список IANA- Сообщение, включающее в себя другие сообщения. Этот тип может использоваться, например, для представления сообщения, которое включают в себя другое переадресованное сообщение, как часть данных, или для отправки больших сообщений по частям, как если бы каждое сообщение отправлялось отдельно. Примеры включают
message
/
rfc
822
(для переадресованных или цитируемых сообщений) иmessage
/
partial
для автоматического разделения одного большого сообщения на несколько небольших и их последующей сборки на стороне получателя. multipart
Список IANA- Данные составленные из нескольких компонентов, каждый из которых может иметь отдельный MIME тип. Примеры включают
multipart
/
form
-
data
(для данных созданных с помощьюFormData
API) иmultipart
/
byteranges
(определённого в RFC 7233: 5. 4.1 и используемого в ответах HTTP206
«Partial Content», когда запрашиваемые данные возвращаются по частям в нескольких сообщениях, как например, при использовании заголовкаRange
).
application/octet-stream
Этот тип является базовым для бинарных данных. В связи с тем, что он подразумевает неопределённые бинарные данные, браузеры, как правило, не будут пытаться его обработать каком-либо образом, а вызовут для него диалоговое окно «Сохранить Как», как если бы заголовок ответа Content-Disposition
имел значение attachment
.
text/plain
Этот тип является базовым для текстовых файлов. Несмотря на то, что он означает «неопределённые текстовые данные», браузеры всё равно могут его отображать.
Заметьте: text/plain
не означает «любой вид текстовых данных». Если браузер ожидает получения какого-то конкретного типа текстовых данных, то с большой вероятностью он не будет считать text/plain
подходящим типом. Например, при загрузке text/plain
документа через <link>
элемент, браузер не будет его признавать правильным CSS файлом и использовать для применения стилей. Только text/css
тип должен использоваться для загрузки CSS документов.
text/css
CSS документы, используемые для стилизации web-страниц должны отправляться, как text/css
тип. Большинство браузеров не смогут распознавать CSS документы, загруженные с отличным от text/css
MIME типом.
text/html
Все HTML данные должны пересылаться с данным типом. Альтернативные MIME типы для XHTML (например, application/xhtml+xml
) почти не используются в настоящее время.
Заметьте: Используйте application/xml
или application/xhtml+xml
, когда вам необходим строгий синтаксический анализ документов, разделы <![CDATA[…]]>
или элементы, не принадлежащие к пространствам имён HTML/SVG/MathML.
text/javascript
Согласно HTML спецификации: при пересылке JavaScript файлов, всегда должен использоваться MIME тип text/javascript
.
По исторически сложившимся причинам, MIME Sniffing Standard (стандарт, определяющий, как браузеры должны интерпретировать медиа типы и выяснять, как обрабатывать данные при неправильно заданных медиа типах) позволяет серверам отправлять JavaScript документы, используя один из нижеперечисленных типов:
application/javascript
application/ecmascript
application/x-ecmascript
Non-standardapplication/x-javascript
Non-standardtext/javascript
text/ecmascript
text/javascript1.0
«> Non-standardtext/javascript1.1
Non-standardtext/javascript1.2
Non-standardtext/javascript1.3
Non-standardtext/javascript1.4
Non-standardtext/javascript1.5
Non-standardtext/jscript
Non-standardtext/livescript
Non-standardtext/x-ecmascript
Check cross-browser support before using.»> Non-standardtext/x-javascript
Non-standard
Заметьте: Несмотря на то, что некоторые user agent могут поддерживать какие-то из вышеперечисленных типов, вы всегда должны использовать text
/
javascript
. Это единственный MIME тип, который гарантированно будет работать в настоящее время и в будущем.
Иногда вы можете заметить использование text/javascript
MIME типа в связке с параметром charset
, для уточнения кодировки, в которой был написан файл. Такое определение MIME типа является неправильным, и в большинстве случаев браузеры не станут загружать скрипт, передаваемый с таким типом.
Типы изображений
Файлы, MIME типом которых является image
, содержат в себе данные изображений. Подтип определяет, какой конкретный формат изображения представлен в данных.
Лишь несколько типов изображений достаточно распространены, чтобы безопасно использоваться на веб-страницах.
{{page(«ru/docs/Web/Media/Formats/Image_types», «table-of-image-file-types»)}}
Аудио и видео типы
Так же как в случае с изображениями, стандарт HTML не обязывает браузеры поддерживать какие-либо определённые форматы и кодеки для <audio>
и <video>
элементов, так что при их выборе, важно брать в расчёт целевую аудиторию и диапазон браузеров (а так же версии этих браузеров), которые она может использовать.
Наше руководство по медиа форматам предоставляет список общепринятых типов, включая информацию об особых случаях при их использовании, их недостатках, совместимости, а так же других деталях.
Руководства по аудио и видео кодекам перечисляют часто поддерживаемые браузерами кодеки, предоставляя детали по их совместимости и техническую информацию, например как много аудио каналов они поддерживают, какой тип сжатия используют, и так далее. Руководство по используемым в WebRTC кодекам развивает эту тему ещё дальше, конкретно описывая кодеки, поддерживаемые популярными браузерами, так чтобы вы могли выбрать кодеки, которые имеют наилучшую поддержку в диапазоне браузеров по вашему выбору.
Что касается MIME типов для аудио и видео файлов, то чаще всего они указывают на формат контейнера (тип файла). Необязательный параметр codecs
может быть добавлен к MIME типу для более точного указания, какой кодек и параметры использовались для пересылаемого файла.
Ниже перечислены наиболее часто используемые на веб-страницах MIME типы. Обратите внимание, что это не полный перечень всех доступных типов. Более полный список поддерживаемых форматов может быть наеден в руководстве по медиа форматам.
multipart/form-data
multipart/form-data
тип может быть использован при отправке значений из заполненной HTML Формы на сервер.
Как многокомпонентный тип документа, он состоит из различных частей, разделённых специальной границей (строкой, начинающейся с двух чёрточек --
), где каждая часть представляет собой отдельную сущность и имеет отдельные HTTP заголовки Content-Disposition
и Content-Type
для загружаемых файлов.
Content-Type: multipart/form-data; boundary=aBoundaryString (other headers associated with the multipart document as a whole) --aBoundaryString Content-Disposition: form-data; name="myFile"; filename="img.jpg" Content-Type: image/jpeg (data) --aBoundaryString Content-Disposition: form-data; name="myField" (data) --aBoundaryString (more subparts) --aBoundaryString--
Следующая форма <form>
:
<form action="http://localhost:8000/" method="post" enctype="multipart/form-data"> <label>Name: <input name="myTextField" value="Test"></label> <label><input type="checkbox" name="myCheckBox"> Check</label> <label>Upload file: <input type="file" name="myFile" value="test.txt"></label> <button>Send the file</button> </form>
отправит сообщение:
POST / HTTP/1.1 Host: localhost:8000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50. 0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Connection: keep-alive Upgrade-Insecure-Requests: 1 Content-Type: multipart/form-data; boundary=---------------------------8721656041911415653955004498 Content-Length: 465 -----------------------------8721656041911415653955004498 Content-Disposition: form-data; name="myTextField" Test -----------------------------8721656041911415653955004498 Content-Disposition: form-data; name="myCheckBox" on -----------------------------8721656041911415653955004498 Content-Disposition: form-data; name="myFile"; filename="test.txt" Content-Type: text/plain Simple file. -----------------------------8721656041911415653955004498--
multipart/byteranges
multipart/byteranges
MIME тип используется для отправки данных в браузер по частям.
При отправке кода состояния 206
Partial Content
, этот MIME тип будет означать, что документ состоит из нескольких частей, по одной для каждого отдельно запрашиваемого диапазона. Аналогично с остальными многокомпонентными типами, заголовок Content-Type
используется для объявления границы boundary
, разделяющей документ на отдельные компоненты. Каждый компонент имеет заголовок Content-Type
, описывающий тип сегмента данных, и Content-Range (en-US), описывающий его диапазон.
HTTP/1.1 206 Partial Content Accept-Ranges: bytes Content-Type: multipart/byteranges; boundary=3d6b6a416f9b5 Content-Length: 385 --3d6b6a416f9b5 Content-Type: text/html Content-Range: bytes 100-200/1270 eta http-equiv="Content-type" content="text/html; charset=utf-8" /> <meta name="vieport" content --3d6b6a416f9b5 Content-Type: text/html Content-Range: bytes 300-400/1270 -color: #f0f0f2; margin: 0; padding: 0; font-family: "Open Sans", "Helvetica --3d6b6a416f9b5--
Большинство серверов отправляет ресурсы неопределённого типа, как application/octet-stream
MIME тип. Большинство же браузеров, в целях безопасности, не позволяет их никак обрабатывать, вынуждая пользователя сохранять их на жёсткий диск, для дальнейшего использования.
Несколько советов по правильной настройке MIME типов на серверах:
- RAR-сжатые файлы. В этом случае самым правильным вариантом было бы задать тип изначального ресурса; но это не всегда выполнимо, так как .RAR файлы могут хранить в себе несколько типов данных. Тогда, настройте сервер на отправку
application/x-rar-compressed
MIME типа вместе с RAR ресурсами. - Аудио и видео. Только ресурсы с правильно заданными MIME типами могут производиться в
<video>
и<audio>
элементах. Убедитесь, что вы используете правильные типы для аудио и видео данных. - Запатентованные типы файлов. Избегайте использования
application/octet-stream
при их отправке, так как большинство браузеров не позволит определять способы обработки (например, «Открыть в Word») для этого базового MIME типа. Используйте специальные типы, напримерapplication/vnd.mspowerpoint
, чтобы позволить пользователям открывать загруженный ресурс в программе по их выбору.
В отсутствии заданного MIME типа, или в определённых случаях, когда браузеры полагают, что MIME тип задан неправильно, они могут выполнять MIME sniffing — попытку угадать правильный MIME тип, анализируя характеристики ресурса.
Каждый браузер выполняет MIME sniffing по-своему и при разных условиях (например, Safari будет смотреть на расширение файла, если переданный MIME тип является неподходящим для документа). В этих случаях могут присутствовать опасения по поводу безопасности, так как некоторые MIME типы представляют исполняемые файлы. Сервера имеют возможность предотвращать MIME sniffing, отправляя X-Content-Type-Options
заголовок ответа.
MIME типы не являются единственным способом сообщения типа документа:
- Суффиксы в названиях файлов могут указывать на тип документа, главным образом на Microsoft Windows. Но не все операционные системы могут считать их имеющими смысл (например, Linux или MacOS). А так же нет никакой гарантии, что они будут указывать на правильный тип.
- Магические числа. Синтаксисы различных форматов позволяют узнавать их тип, через анализ их структуры байтов. Например, GIF файлы начинаются с
47 49 46 38 39
шестнадцатеричного значения (GIF89
), а PNG файлы с89 50 4E 47
(.PNG
). Опять же, не все типы документов имеют магические числа, так что этот подход так же не надёжен на 100%.
- Медиа технологии в web
- Руководство по медиа типам и форматам в web
Настраивание MIME типов на стороне сервера (en-US)
Last modified: , by MDN contributors
ani — В файлах этого формата хранятся «живые» курсоры Windows и прочая анимированная мелочь. arj — Один из самых распространенных в прошлом «архивных» форматов. Просматривать архивы этого типа можно с помощью любой специализированной программы-архиватора (WinZIP, WinRAR, WinARJ, ZipMagic, 7zip) asf — Active Streaming Format, созданный корпорацией Microsoft — один из популярных «потоковых» форматов звуковой и видеоинформации, хранящейся в сети Интернет. «Потоковые» форматы позволяют воспроизводить информацию по мере ее поступления на ваш компьютер — такой файл вам нет нужды «скачивать» целиком. Просматривать (или прослушивать asf — файлы можно с помощью стандартного проигрывателя — Windows Media Player, включенного в состав Windows. asp — Формат «динамических» страниц Интернет. Такие страницы не лежат в Сети в готовом виде (как в случае htm, html и других «статических» форматов), а формируются как результат запроса пользователя к хранящейся в сети базе данных. avi — Формат хранения анимационной или видеоинформации. Воспроизвести их можно с помощью стандартного проигрывателя Windows (Windows Media Player). Для воспроизведения файлов, упакованных с помощью алгоритма МР4 (другое название — DivX:)), требуется установка специального кодека. bas — С этим форматом хорошо знакомы программисты — в нем хранятся исходные тексты (или просто «исходники») программ, написанных на языке Basic. bak — «Резервные копии» текстовых документов или файлов настройки, создаваемые при их изменении. Считается, что таким образом компьютер «страхуется» от потери важной информации. bat — В стародавние времена этот формат использовался для последовательного запуска нескольких программ: имена соответствующих файлов (с включением специальных команд) вписывались в обычный текстовый документ. Сегодня в большинстве случаев этот формат представлен на наших компьютерах всего одним файлом — autoexec.bat, проживающем в «корневой» папке вашего жесткого диска. Этот файл — один из самых важных, «системных» файлов, так что удалять его ни в коем случае не следует. bin — Bin означает — бинарный, двоичный, то есть в файлах этого типа можно хранить практически все что угодно. Например, в установочном комплекте Windows в bin-файлах хранятся фоновые картинки, файлы конфигурации, программные модули… Существует и еще один вид bin-файлов: файлы-«образы» компакт-дисков, созданные программой CDRWin. Если вам попался bin-файл размером в десятки мегабайт, будьте уверены, что перед вами именно такой «образ». Раскрывать bin-образы можно, например, с помощью программы WinlSO. См. также iso, cif, img. bmp — Формат растровой графики. Рисунки в этом формате хранятся в несжатом виде и не отличаются высоким качеством — потому и используется этот формат очень редко. cab — Специальный архивный формат, используемый Windows. В сжатых cab-файлах хранятся установочные комплекты (дистрибутивы) самой операционной системы и ряда прикладных программ. Просматривать содержимое cab-файлов можно с помощью Проводника Windows или специальной программы для работы с архивами (WinZIP, ZipMagic). cdr — Формат растровой графики, рисунков, созданных в программе CorelDRAW. chk — Эти файлы часто образуются в «корневом», каталоге жесткого диска после проверки оного с помощью Norton Disk Doctor или других подобных программ. В них складируется «информационный мусор» — куски файлов, обрывки документов, — найденный в «потерянных кластерах». В большинстве случаев извлечь их этих файлов ничего полезного не получится, так что их можно без особого сожаления отправить в Корзину. cfg — Конфигурационный файл, хранящий в себе настройки той или иной программы. Как правило, представляет собой обычный текстовый файл и может быть изменен с помощью простейшего текстового редактора (например, стандартного Блокнота). chm — файл справки. cif- Файл-«образ» (см. iso), созданный программой EasyCD Creator. com — Исполняемый программный файл, как правило, небольшого размера. Com-файлы — явный анахронизм, наследие эпохи DOS, и в Windows используются очень редко, уступив пальму первенства формату ехе. Впрочем, и сегодня в виде com-файлов распространяются, например, небольшие программы -«ломалки»… А заодно — и вирусы. cpl — Как вы помните, Панель управления (Control Panel) отличается от других папок Windows тем, что живущие в ней значки нельзя удалить обычным путем. И это правильно — поверьте, ничего лишнего на Панели нет. Однако знатоки давным-давно раскусили, что все эти хитрые значки живут в папке Windows\System и хранятся в виде файлов именно этого формата. сss — Cascade Style Sheet, каскадные таблицы стилей. Эти файлы используются при создании сайтов и страниц Интернета и хранят в себе параметры форматирования текста, которые могут относиться ко всем страницам сразу. Используя сss, вам не придется утомительно описывать, каким кеглем набирается тот или иной абзац текста, как располагается он на странице… Достаточно просто присвоить ему тот или иной стиль, а все относящиеся к нему параметры включить в файл сss» cue — Файл-«оглавление». Этот файл нередко сопровождает «файлы-образы» (см. bin). dat — Один из самых многоликих форматов. В этих файлах может храниться практически все что угодно — от сохраненных настроек программ до мультимедиа-информации. В частности, именно в dat-файлах хранятся видеофильмы, записанные в формате VideoCD. dbf — Один из самых популярных (а заодно — самых старых) форматов для хранения баз данных. Работать с dbf-файлами можно с помощью любого редактора баз данных — например, программы Access из комплекта Microsoft Office. diz — Обычный текстовый файл, содержащий описание какой-либо программы. Как правило, diz-файлами комплектуются установочные комплекты (дистрибутивы), распространяемые пиратами — чтобы пользователю было понятно, что именно в этой папке (или архиве) находится. Просматривать diz-файлы можно с помощью Блокнота. dll — В этом формате хранятся «динамически подключаемые библиотеки» — программные модули, реализующие те или иные стандартные функции. doc — Один из самых популярных форматов текстовых документов. В отличие от простых текстовых форматов (txt, wri), doc-файлы могут содержать не только текст, но и параметры его форматирования (тип и кегль шрифта, расположение тех или иных абзацев на странице и так далее), а также «встроенные» таблицы, иллюстрации и даже звуки! Создавать, редактировать и изменять такие файлы можно с помощью «продвинутого» текстового редактора или «текстового процессора» — Microsoft Word, Microsoft Works, StarOffice или Лексикон.. dot — «Шаблон» документа Microsoft Office. drv — «Старый» формат драйверов для ряда устройств (мыши, клавиатуры и иных), доставшийся современным версиям Windows от их сошедших со сцены предков. Большинство современных драйверов хранятся в файлах другого формата — vxd (см.). eml — Если вы захотите сохранить пришедшее к вам по электронной почте сообщение в виде отдельного файла, то сохранено оно будет именно в этом формате. Для его просмотра можно использовать стандартную почтовую программу (например, Outlook Express) или текстовый редактор. eps — «Комбинированный» графический формат, используемый в профессиональных издательских системах. Формат eps (как и cdr), позволяет сохранять в одном файле сразу несколько «слоев»: растровую, векторную графику, а также текст. Для просмотра и редактирования файлов этого формата можно использовать программы Adobe Illustrator, Adobe Photoshop или CorelDRAW. exe — Самый популярный из форматов «исполняемых» файлов — или, проше говоря, программ. fon — В файлах этого формата хранятся некоторые стандартные шрифты Windows. Большинство дополнительных шрифтов, которые вы можете подключить к вашей операционной системе, имеют другое расширение — ttf (см.). gid — Эти файлы создаются при запуске справочной системы той или иной программы (файл hlp или chm) и призваны в дальнейшем облегчить навигацию по ее разделам. На самом деле абсолютно бесполезны (некоторые про-граммы-«чистильщики» автоматически удаляют эти файлы в числе прочего программного мусора), однако ввиду малых размеров вреда также не приносят. gif — Еще один формат растровой графики. Отличается от уже знакомых нам форматов — bmp,jpg (см.) и ряда других тем, что в нем используется ограниченный набор цветов. Если другие графические форматы могут работать с тысячами и даже миллионами оттенков, то gif безжалостно приводит все цветовое богатство к «общему знаменателю» — фиксированной 256-цвет-ной палитре. ha — Этот экзотический архивный формат был необычайно популярен лет пять-семь назад, в эпоху господства компьютерной сети Фидонет. Использовался он исключительно для сжатия текстовых файлов. Большинство стандартных архиваторов Windows работать с ha-файлами не умеют, так что, если в ваши руки невесть как попал файл с расширением ha, ищите старую DOS-программу ha.exe. hlр — Файл «справки» Windows и большинства прикладных программ для нее. htm (или html) — Гипертекстовые документы, страницы сети Интернет. В отличие от обычных текстовых документов, могут содержать в себе ссылки на другие страницы (гиперссылки) или объекты. ico — Крохотный графический файл, хранящий в себе картинку для того или иного значка (иконки). img — Файл-«образ» (см. iso), созданный программой CloneCD. inf — Вспомогательный информационный файл, содержащий сведения о параметрах установки и работы какой-либо программы или оборудования. Часто входит в комплект поставки драйверов (см.). ini — Текстовый «файл инициализации», хранящий настройки той или иной программы. «Золотые деньки» файлов этого типа ушли в прошлое вместе с Windows 3. 0 — сегодня большинство программ предпочитает хранить свои настройки в реестре (см.). Как и его коллеги формата cfg (см.), ini-файлы можно просматривать и изменять (не рекомендуется!) с помощью обычного Блокнота. iso — Файл-«образ» — вид архива, в котором может быть спрятано содержимое целого компакт-диска. С помощью специальных программ (CDRWin, Winlso и других) этот файл можно «раскрыть» на CD-R или CD-RW диск, получив точную копию исходного CD. А можно, с помощью тех же программ, распаковать его на жесткий диск, в отдельную папку, lso-файлы — самая стандартная из многочисленных модификаций файлов-«образов», и создавать их могут практически все программы-копировщики. isu — Файлы этого типа создаются при установке программ и необходимы для их корректного (в случае необходимости) удаления. Содержат сведения о процессе установки, полный список и местоположение перенесенных на компьютер файлов и так далее. «Ручному» изменению и уж тем более удалению не подлежат! jpg — «Народный» формат хранения графических изображений — фотографий, рисунков и т. д. От «профессионального» формата tif (см.) отличается тем, что изображения в этом файле хранятся в «сжатом» виде. js — Маленький дополнительный модуль, микропрограмма, скрипт (см.), написанная на языке JavaScript. Как правило, эти программы-малютки подключаются к страницам Интернета и выполняются при их загрузке. lnk — Файл «ярлыка» (см.), локальная ссылка на расположенную в другой папке программу или документ. log — Текстовый файл отчета, в который записывается протокол работы той или иной программы, сообщения об ошибках и так далее. Может быть просмотрен с помощью Блокнота или другого текстового редактора. m3u — Текстовый файл «плейлиста», списка воспроизведения музыкальный файлов в формате mрЗ. mdb — Файл базы данных (см.) программы Access из комплекта Microsoft Office. mid — Синтезированная музыка в формате MIDI (см.). Мелодия в таком файле записана не в виде точной «цифровой копии» оригинала, а в виде последовательности команд для синтезатора звуковой карты. По этой причине звучание MIDI-файла может значительно различаться в зависимости от модели звуковой карты и «банка» загруженных в нее звуковых «сэмплов» (см.). Проигрывать mid-файлы можно с помощью стандартного проигрывателя — Windows Media Player. Для редактирования и создания Этих файлов используются специализированные музыкальные редакторы — Cakewalk Pro, Cubase и другие. mod — Музыкальный «трекерный» файл, гибрид «оцифрованного» и «синтезированного» звука. Музыка, записанная в mod-файлах, состоит из периодически повторяющихся коротеньких оцифрованных отрывков — сэмплов (см.). Именно по этой причине «трекерная» технология используется преимущественно для создания музыки в стиле хаус, хип-хоп, техно и похожих. Для воспроизведения mod-файлов необходима специальная программа-плеер. mov — В файлах этого формата хранятся видеофильмы, записанные в формате QuickTime (Apple). mр2 — Устаревший формат хранения «сжатой» звуковой информации. Сегодня практически полностью вытеснен более совершенным mрЗ (см. ). mрЗ — Музыкальный файл, композиция, песня. В мире аудио mрЗ — все равно что jpg (см.) для графики или mpeg (см.) для видео. Технология компрессии MPEG I Layer III (именно так расшифровывается аббревиатура МРЗ) позволяет сжать звуковую информацию в 6-10 раз с минимальной потерей качества. mpg (mpeg) — Формат хранения видеоинформации, сжатой по алгоритму MPEG-1. Как и mov (см.) используется для хранения небольших видеороликов. Большие фильмы, сжатые по более совершенному алгоритму MPEG-4 (MP4), как правило, хранятся в виде avi-файлов (см.) nrg — Файл-«образ» (см. isо), созданный программой Nero. осх — Файл компонента, используемого программистами в своих программах. Компонентами могут быть, например, кнопки, поле для ввода текста, и т. д, и т. п. pas — Как и файлы с расширением pas, их можно встретить на компьютерах программистов: эти файлы содержат исходные тексты программ, написанные на языке Pascal. pdf — Кроссплатформенный формат pdf создан компанией Adobe для хранения электронных документов и книг, которые могут быть корректно прочитаны на любом компьютере — независимо от его типа. php — Формат программных модулей, динамических страниц сети Интернет, созданных с использованием языка программирования РНР. pic — Один из редко встречающихся графических форматов. Скорее всего, столкнуться с такими файлами вам не придется, но на всякий случай… Изменять и просматривать файлы этого формата можно с помощью тех же инструментов, как и в случае с их коллегами jpg, gif tif (cм.). pif — Очередное «живое ископаемое». В стародавнюю эпоху сожительства DOS и старых версий Windows pif-файл прилагался к любой DOS-программе, запускаемой в Windows, и содержал информацию о параметрах ее работы. Сегодня pif-файлы встречаются лишь изредка. pls — Устаревший формат «плейлистов» (см. mЗu и mрЗ). р65 (а также рm5) — Электронные документы, макеты будущих бумажных изданий (книг, газет, журналов) сверстанные (см. верстка) в программе Adobe Pagemaker. См. также qxd. png — Формат для хранения небольших графических изображений, оптимизированных для Интернет, альтернатива формату gif (см. ). psd — Формат растровой графики, иллюстрации, рисунка, созданного в программе Adobe Photoshop. qt — Фильм или звуковая информация, записанная в формате QuickTime. Встречается в основном на компакт-дисках, разработанных для воспроизведения не только на PC, но и на компьютерах Macintosh. Как и файлы mov (см.), qt-файлы можно воспроизводить с помощью программы QuickTime, которую необходимо устанавливать дополнительно. qxd — Электронные документы, макеты будущих бумажных изданий (книг, газет, журналов) сверстанные в программе QuarkXPress. См. также р65. rа (также ram, rm) — Файлы RealAudio и RealMedia — популярных «потоковых» форматов для хранения аудио и видео в сети Интернет (см. также asf}. Для их воспроизведения необходимо установить на компьютер бесплатную программу Real Player, для редактирования — программный комплекс Real Producer. гаг — Архивные файлы, созданные с помощью разработанного Евгением Рошалем архиватора RAR. Для работы с ними необходимо использовать программу WinRAR, WinZIP или старую DOS-программу гаг. ехе. См. также arj, zip, ha.
|
Что такое winrar и как им пользоваться. Что такое программа winrar? Как пользоваться программой Винрар
WinRAR является одним из самых популярных архиваторов, представленным в настоящее время в распоряжение пользователей.
Это мощный инструмент сжатия данных с огромным количеством дополнительных интегрированных функций.
Название программы образовано от слов WIN (Windows) и RAR (Roshal ARchive). Автором программы является Евгений Рошал (Roshal). С помощью этой программы, которая идеально подходит для работы на платформе Windows и поддерживает все основные виды платформ, можно создавать сжатые архивы и уменьшать объём данных, хранящихся на системных носителях. В программе предусмотрена комплексная поддержка форматов — архивов rar и zip, и применен усовершенствованный алгоритм сжатия. Для разных форматов подобраны индивидуальные алгоритмы. WinRar обладает интуитивным интерфейсом, что делает работу с в нем очень простой и комфортной.
Основные свойства WinRAR:
- Мощная утилита для создания и управления архивами, содержащая целый спектр дополнительных полезных функций.
- С WinRAR вы сможете сжимать файлы на 8-15% лучше и зачастую быстрее, чем это делают конкурирующие продукты. Это позволит экономить дисковое пространство, расходы на передачу данных и, самое главное, дорогостоящее рабочее время.
- Поддерживает все популярные форматы архивов (RAR, ZIP, CAB, ARJ, LZH, ACE, TAR, GZip, UUE, ISO, BZIP2, Z и 7-Zip).
- Прекрасно подходит для сжатия мультимедийных файлов. Программа автоматически распознаёт формат файла и выбирает оптимальный метод упаковки.
- Позволяет разделять архивы на отдельные тома для их записи на съёмные носители.
- Идеален для передачи конфиденциальных данных по Интернету и других незащищённым каналам. 128-битная криптографическая защита и электронные подписи архивов не дадут злоумышленникам ни единого шанса узнать ваши секреты.
- WinRAR — это shareware-продукт, который даёт возможность бесплатно попробовать продукт перед покупкой в течение 40 дней.
- Одна лицензия WinRAR обеспечивает возможность использовать продукт на любых платформах и языках.
Запуск WinRAR
Для запуска программы вам необходимона панели задач зайти в меню «Пуск» и найти в каталоге «Все программы». Из раскрывшегося списка кликнуть по знаку программыWinRAR.
Интуитивный интерфейс обеспечивает легкую навигацию по программе. Перед вами появится окно программы. В ней вы можете увидеть: меню; панель инструментов; окно ниспадающего списка; файловое окно; строка состояния.
Так как основная задача программы WinRAR это создание и извлечение архивов, то остановимся на этом пункте более подробно.Для создания архива, нужно выбрать файл на компьютере, который вы желаете сжать. Найти нужные файлы можно через окно ниспадающего списка. Чтобы добавить файл в архив, достаточно его выделить с помощью мыши, или выделить группу файлов с помощью мыши и клавиши «Ctrl», а затем нажать на иконку «Добавить»
Для увеличения эффективности работы архиватора лучше всегда оценивать размер исходного и полученного файла. Делается простым сравнением свойств
После того как нужные файлы будут выделены, появится окно, в котором вы можете задать нужные параметры для будущего архива. При запуске WinRAR показывает в своём окне список файлов и папок в текущей папке. Перейдите в папку, в которой находятся файлы, предназначенные для архивации. Для изменения текущего диска можно нажать комбинацию клавиш Ctrl + D , воспользоваться списком дисков (под панелью инструментов), или щёлкнуть на маленьком значке диска в нижнем левом углу окна. Для перехода в родительскую папку нажмите клавиши Backspace или Ctrl+PgUp , щёлкните на маленькой кнопке «Вверх» (под панелью инструментов) или дважды щёлкните на папке «..» в списке файлов. Для перехода в другую папку нажмите Enter , Ctrl+PgUp или дважды щёлкните мышью на этой папке. Для перехода в корневую папку текущего диска нажмите сочетание клавиш Ctrl+ .
Также, здесь можно выбрать тип архива, который нужно создать — rar или zip, и метод сжатия
Количество файлов, добавляемых в один архив зависит от объёма доступной памяти и длины имён этих файлов. Примерно 128 байт памяти требуется для одного архивируемого файла. Таким образом, для сжатия миллиона файлов необходимо иметь 128 Мб. Предельные нагрузки, которые прошли испытание в тестовой лаборатории нашей компании достигают 10 миллионов файлов.
Режим мастера (wizard)
Режим Мастера(Wizard) WinRAR предназначен для начинающих пользователей, чтобы максимально облегчить им выполнение основных операций архивирования и распаковки с помощью простой пошаговой процедуры.
Чтобы вызвать диалог мастера, нажмите кнопку «Мастер» на панели инструментов WinRAR. По умолчанию эта кнопка отображается и при нахождении внутри архивов, и вне их, но вы можете отключать/включать её (подобно остальным кнопкам) в диалоге выбора кнопок, вызываемом кнопкой «Выбрать кнопки…» в окне общих параметров программы. Другой расположенный в том же окне параметр — «При старте запускать мастера» — позволяет включить режим, при котором мастер будет вызываться автоматически при каждом запуске WinRAR.
Каждое диалоговое окно мастера снабжено краткой инструкцией, в которой описывается содержимое окна и возможные действия пользователя. Чтобы ознакомиться с более подробными инструкциями, нажмите кнопку «Справка».
Возможности WinRAR
Сжатие данных является повсеместной практикой, которая используется при работе с файлами больших форматов. Степень сжатия в основном зависит от исходных размеров файлов. Хорошо сжимаются почти все предварительно не сжатые данные, например, исполняемые файлы (EXE), тексты (TXT, DOC), базы данных (DBF), простые несжатые изображения (BMP). Ограниченно сжимаются несжатый звук (WAV), сложные несжатые изображения (BMP).
Не сжимаются почти все уже сжатые данные, например, архивы (ZIP, CAB), сжатые документы (PDF), сжатая графика и видео (JPG, GIF, AVI, MPG), сжатый звук (MP3). Их сжатие находится в пределах 1-2% процентов за счет служебных блоков и небольшой избыточности.
WinRAR позволяет эффективно архивировать даже те типы данных, которые уже являются сжатыми. Это обусловлено тем, что в большинстве распространённых форматов файлов, использующих сжатие, применены не самые эффективные методы. Например, в основе формата JPG лежит энтропийное сжатие, которое используется после преобразований Фурье. Данные кодируются неоптимальными блоками, что обусловлено желанием сделать формат JPG устойчивым к повреждениям и возможности частичного извлечения информации. WinRAR содержит специальный улучшенный алгоритм сжатия файлов мультимедиа, исполняемых программ и объектных библиотек. WinRAR обеспечивает полное управление файлами в архивах, восстановление повреждённых архивов, шифрование, создание самораспаковывающихся и многотомных архивов и многое другое.
Программа позволяет создавать архивы RAR огромных размеров, содержащие большое количество файлов, поддерживает форматы RAR и ZIP, может выполнять все основные операции с форматами: 7Z, ACE, ARJ, BZ2, CAB, GZ, JAR, LZH, TAR, UUE, Z и ISO (CD-имиджи), а также умеет создавать самораспаковывающиеся архивы типа SFX. Архиватор автоматически распознаёт формат данных и выбирает лучший метод сжатия.
RAR является форматом файлов, создаваемых архиватором WinRAR. Подобно другим архиваторам RAR-файлы представляют собой контейнеры данных, которые содержат один или несколько файлов в сжатом виде.
При работе с архивами в WinRAR вы можете:
- архивировать с последующим удалением архивированных файлов;
- создавать самораспаковывающийся архив;
- выбрать RAR или ZIP типы архивов;
- сохранить путь по которому будет в дальнейшем распаковываться архив;
- создать архив не более 8Гб;
- создать непрерывный архив;
- добавить электронную подпись;
- заблокировать архив;
- создать архив разбитый на части — к примеру каждая часть размером с дискету;
- ввести пароль для архива;
- исправить ваш архив;
- оперативно просматривать содержимое архивов;
- добавить файлы в уже существующий архив;
Среди полезных особенностей следует отметить возможность создавать само распаковывающиеся архивы. Если у вас не установлен архиватор, информация из архива все равно будет извлечена. Обратите внимание на то, что нельзя создавать архивы объемом более 8,589,934,591Гб — это стандартное ограничение. Для защиты вашей информации можно задать пароль для архива. В WinRAR есть особое достоинство — возможность добавления информации в уже существующий архив. Эта функция — Добавить файлы в архив (Drag and Drop) .
Эта команда доступна как в режиме управления файлами, так и в режиме управления архивами.
Если WinRAR находится в режиме управления файлами, выделите те файлы и папки, которые нужно заархивировать. После этого выберите команду «Добавить файлы в архив» в меню «Команды» (это же действие выполняется при нажатии кнопки «Добавить» на панели инструментов или комбинации клавиш Alt+A ). Укажите имя архива и параметры в диалоге ввода имени архива и его параметров и нажмите Enter для начала архивации.
Если WinRAR находится в режиме управления архивами, то сначала нужно выбрать команду «Добавить файлы в архив», потом в появившемся окне выделить добавляемые файлы, а затем указать имя и параметры архива, как описано выше. — Эквивалент командной строки: команда «a»
Кроме WinRAR, в дистрибутив продукта также входит файл Rar.exe. Это также 32-разрядная версия RAR для Windows, но она поддерживает только интерфейс командной строки и работает в текстовом (консольном) режиме.
Консольную версию RAR удобно использовать для вызова из командных файлов (BAT и CMD), для запуска из DOS и т.п. Она поддерживает больше команд и ключей в командной строке, чем WinRAR, но не способна обрабатывать другие форматы архивов, отличные от RAR. Все особенности управления командной строкой WinRAR верны и для консольной версии RAR.
Все особенности управления командной строкой WinRAR верны и для консольной версии RAR.
«WinRAR что это за программа» — речь идёт о программе, которая должна быть известна абсолютно каждому мало-мальски опытному пользователю персонального компьютера. Современная работа на ПК без программ разряда Винрар просто невозможна. Потому практически всё, что Вы загружаете из интернета окажется закрытым, если будет нечем раскрывать скачанные файлы.
WinRAR — это один из самых популярных архиваторов в мире, если не самый. Началось его шествия с появления в 1993-ом году утилит для командной строки, которые носили названия RAR и UNRAR. Как понятно из названий, одна из них отвечала за архивацию файлов, другая же — за извлечение файлом из архива. И лишь в 1995-ом году была выпущена полноценная программа, которая носила нынешнее название — WinRAR.
Разработчики постоянно вели работу не только над улучшением архиватора, а и над усовершенствованием форматов, в которые файлы и архивируются. Потому с каждым выпуском новых и новых версиях, пользователям было необходимо их в кратчайшие строки качать, так как Архивы новых форматов не могли быть распакованы более старыми версиями.
В 2008-ом году случилось очень важное обновление, которое добавило в программу поддержку формата Zip. Таким образом архиватор объединил в себе два самых популярных формата для архивации файлов. Разумеется, что никто не забывал следить за развитием операционных систем, потому старались как можно раньше добавлять к новым версиям своих программ поддержку современных операционных систем.
Архиватор нужен не только для того, что бы большой набор файлов объединить в один. Конечно, это удобно не только для того, что бы их хранить, а ещё и для передачи большого количества файлом между устройствами. И, разумеется, любой набор файлов, для выгрузки в интернет принято архивировать, что бы пользователь мог за раз скачать себе на компьютер весь пакет.
Узнав из нашей статьи, что же это за программа — WinRAR, решите для себя сами, нуждаетесь ли Вы именно в ней. Но вот то, что хотя бы аналог у Вас должен быть установлен — это факт.
Гуляя по просторам компьютера, наверняка, вы не раз встречали интересный ярлык в виде стопки книг, перевязанной ремешком.
Открыть его вы боялись, так не знали, что это такое.
Этот ярлык принадлежит программе-архиватору WinRAR.
Она нужна для того, чтобы сгруппировывать несколько файлов вместе и сжимать их, уменьшая общий размер. Для чего это может пригодиться?
Например, вам нужно скопировать 10 текстовых документов на USB-флешку друга, при этом места на этой флешке едва хватает на 5 документов. Вы можете перенести с помощью мыши доступные 5 файлов по отдельности, но тогда вашему другу будет неудобно их искать среди прочих объектов.
Здесь вам и пригодится архиватор WinRAR. С его помощью вы сможете собрать все 10 документов в одном «портфельчике», то есть архиве, значительно уменьшив их размер. За счет этого вам хватит места на USB-флешке, чтобы скопировать все 10 файлов. На носителе вашему другу останется лишь найти файл архива вместо того, чтобы искать 10 документов по отдельности.
Как создать архив?
1. Выберете один или несколько файлов, которые надо заархивировать. Допустим, это два документа на рабочем столе.
2. Выделите их и щелкните правой кнопкой мыши. Выберете пункт «Add to archive…» или «Создать архив», если ваш архиватор русифицирован.
3. У вас откроется окошко. В строке «Archive name» или «Имя архива» пропишите его название.
4. Нажмите «ОК», и архив появится на рабочем столе.
Для интереса вы можете сравнить размер исходных файлов и размер архива, в котором они теперь находятся, – он будет меньше.
Как распаковывать архив?
Распаковывать файлы приходится куда чаще, чем их архивировать. Файлы большого размера, скачанные из Интернета, обычно находятся в архивах. Допустим, вы загрузили книгу. Ваши действия будут следующими:
1. Откройте архив с книгой
2. Выберете файл и нажмите «Извлечь» или «Extract to»
3. В новом окне укажите место, куда хотите отправить книгу, например, рабочий стол. Нажмите «ОК». Все готово
Итак, теперь вы умеете архивировать файлы и знаете, как поступать в том случае, когда файлы весят слишком много, но их надо скопировать. Программа WinRAR имеет много дополнительных функций и параметров, таких как степень сжатия файла и выбор формата архива, в которых вы со временем можете разобраться и применять на практике.
Через десктопную версию WinRAR каждый раз можно менять параметры архивации или использовать те, что были выставлены в настройках по умолчанию. Рассмотрим, за что отвечает каждый параметр и к чему приведет его изменение.
Первая вкладка — «Общие»
Здесь предлагается выбрать формат архива — RAR (родной формат архиватора) или ZIP — формат, открываемый проводником операционной системой без помощи дополнительных программ.
Метод сжатия определяет, как сильно будут уменьшены файлы в архиве. Чем сильнее сжатие — тем больше времени понадобится на архивацию.
Размер словаря отвечает за эффективность сжатия. Рекомендуем не менять данный параметр.
Опция «Разделить на тома» делит создаваемый архив на равные части выбранного размера.
Метод обновления устанавливает, как будет действовать WinRAR, если архив с таким же именем уже существует. Будут ли заменены в нем файлы или пропущены.
Использование параметра «Добавить данные для восстановления» повысит шансы на извлечение файлов, если архив будет поврежден.
Опция «Создать SFX-архив» включает создание архива, для распаковки которого архиватор не нужен. Расширение у архива будет EXE.
Вторая вкладка — «Дополнительно»
Здесь для многотомных архивов включается пауза перед созданием очередного тома и настраивается количество томов, которые будут содержать информацию для восстановления в случае повреждения файлов.
В области параметров «Система» включается архивация в фоновом режиме — работа WinRAR незаметная для пользователя.
Здесь же, если предполагается, что процесс создания архива затянется не долго, можно активировать функцию выключения компьютера сразу после завершения работы WinRAR.
Третья вкладка — «Опции»
Если предполагается обновление файлов в существующем архиве во время архивации, здесь можно выбрать, что делать со старыми версиями файлов — просто удалить, удалить в корзину или затереть так, чтобы их нельзя было восстановить даже с помощью программ для восстановления информации с дисков.
Примечание: статья будет дописана до конца текущего месяца.
Обновлено 28.03.2016.
Бывали ли у вас ситуации, когда нужно связать несколько файлов в один? Например, чтобы передать их кому-нибудь по почте или в скайпе. А бывало, что размер флешки не позволял скинуть все необходимое за один раз? Так вот, если размер файлов слишком велик или если их нужно объединить в один общий файл для удобства, то здесь вам пригодится архиватор. Что это такое, как он работает и в каких ситуациях вообще может понадобиться?
Для начала определимся с понятием и объясним его смысл.
Архиватор — это программа для упаковывания и/или сжатия файлов в один пакет, а также их извлечения. Сжатия может и не происходить, если требуется простое объединение группы файлов в один. Иногда есть необходимость разделения архива на равные части, например, для удобства переноса на другой компьютер.
Многие думают, что архивирование это непосредственно сжатие и уменьшение в размерах, но это не совсем так. Существует специальный режим — без сжатия, который применяется только если есть необходимость в объединении. Очень полезная функция. Например, объединенные в один файл фотографии гораздо быстрее скинутся на флешку, чем по отдельности. Если же такой режим не использовать, то запаковка приведет к уменьшению размеров, но не всегда существенному.
От чего зависит степень сжатия
Существует деление на два типа файлов:
- текстовые;
- бинарные.
При этом текстовые могут сжиматься в десятки раз за счет применения оптимальных алгоритмов сжатия и шифрования. Бинарные же файлы очень плохо подвергаются изменению, так как данные в них имеют сложную структуру и зачастую уже подвержены сжатию и кодированию. Например, mp3 файлы музыки и jpeg фотографии уже сжаты соответствующими алгоритмами с потерями, если применять к ним дополнительно агрессивное шифрование, то после этого их попросту нельзя будет восстановить без критичной потери данных. Так, для музыки существуют формат без сжатия — flac, а для фотографий это raw. Они имеют на порядок больший размер, но и качество там лучше.
При этом, не путайте сжатие данных архиватором и сжатие соответствующими алгоритмами, например, mp3 и jpeg, ведь последние подходят только для музыки и фотографий, а архиваторы сжимают любые файлы, хоть и зачастую не так эффективно.
Какие бывают архиваторы
Самыми распространенными на сегодня являются 7z и WinRAR. Давайте же рассмотрим их поближе.
WinRaR. Условно бесплатная программа для архивирования файлов. Действует вечный Триал, то есть, первые 40 дней после установки вы пользуетесь им абсолютно свободно, а после этого при каждом запуске вам будут ненавязчиво предлагать купить лицензию. Жмет в форматах rar и zip, распаковывает практически все форматы. Считается лучшим по соотношению скорости к степени сжатия.
7z. Полностью свободный архиватор. Запаковывает во множество распространенных форматов, при этом распаковывает практически любые. Самыми часто используемыми форматами запаковки здесь являются 7z, gzip, tar, при чем некоторые из них могут вкладываться друг в друга для дополнительного эффекта. Например, очень часто можно встретить дважды запакованные файлы tar.gz, особенно в Unix системах. По эффективности сжатия немного превосходит WinRAR, но при этом незначительно проигрывает ему в скорости.
Теперь вы знаете что такое архиватор и зачем они нужны, а также легко сможете решить для себя какой из двух аналогов выбрать.
Современные архиваторы — Архиваторы
Архиваторы – это программы для создания архивов. Архивы предназначены для хранения данных в удобном компактном виде. В качестве данных обычно выступают файлы и папки. Как правило, данные предварительно подвергаются процедуре сжатия или упаковки. Поэтому почти каждый архиватор одновременно является программой для сжатия данных. С другой стороны, любая программа для сжатия данных может рассматриваться как архиватор. Эффективность сжатия является важнейшей характеристикой архиваторов. От нее зависит размер создаваемых архивов. Чем меньше архив, тем меньше места требуется для его хранения. Для передачи нужна меньшая пропускная способность канала передачи или затрачивается меньшее время. Преимущества архивов очевидны, если учесть, что данные уменьшаются в размере и в 2 раза, и в 5 раз.
Сжатие данных используется очень широко. Можно сказать, почти везде. Например, документы PDF, как правило, содержат сжатую информацию. Довольно много исполняемых файлов EXE сжаты специальными упаковщиками. Всевозможные мультимедийные файлы (GIF, JPG, MP3, MPG) являются своеобразными архивами.
Основным недостатком архивов является невозможность прямого доступа к данным. Их сначала необходимо извлечь из архива или распаковать. Операция распаковки, впрочем, как и упаковки, требует некоторых системных ресурсов. Это не мгновенная операция. Поэтому архивы в основном применяют со сравнительно редко используемыми данными. Например, для хранения резервных копий или установочных файлов.
В данный момент существует много архиваторов. Они имеют разную распространенность и эффективность. Некоторые интересные архиваторы не известны широкому кругу потенциальных пользователей. Особый интерес представляют оценка и сравнение эффективности сжатия популярных архиваторов.
Методы сжатия
Разработано большое количество разнообразных методов, их модификаций и подвидов для сжатия данных. Современные архиваторы, как правило, одновременно используют несколько методов одновременно. Можно выделить некоторые основные.
Кодирование длин серий (RLE — сокращение от run-length encoding — кодирование длин серий)
Очень простой метод. Последовательная серия одинаковых элементов данных заменяется на два символа: элемент и число его повторений. Широко используется как дополнительный, так и промежуточный метод. В качестве самостоятельного метода применяется, например, в графическом формате BMP.
Словарный метод (LZ — сокращение от Lempel Ziv — имена авторов)
Наиболее распространенный метод. Используется словарь, состоящий из последовательностей данных или слов. При сжатии эти слова заменяются на их коды из словаря. В наиболее распространенном варианте реализации в качестве словаря выступает сам исходный блок данных.
Основным параметром словарного метода является размер словаря. Чем больше словарь, тем больше эффективность. Однако для неоднородных данных чрезмерно большой размер может быть вреден, так как при резком изменении типа данных словарь будет заполнен неактуальными словами. Для эффективной работы данного метода при сжатии требуется дополнительная память. Приблизительно на порядок больше, чем нужно для исходных данных словаря. Существенным преимуществом словарного метода является простая и быстрая процедура распаковки. Дополнительная память при этом не требуется. Такая особенность особенно важна, если необходим оперативный доступ к данным.
Энтропийный метод (Huffman — кодирование Хаффмена, Arithmetic coding — арифметическое кодирование)
В этом методе элементы данных, которые встречаются чаще, кодируются при сжатии более коротким кодом, а более редкие элементы данных кодируются более длинным кодом. За счет того, что коротких кодов значительно больше, общий размер получается меньше исходного.
Широко используется как дополнительный метод. В качестве самостоятельного метода применяется, например, в графическом формате JPG.
Метод контекстного моделирования (CM — сокращение от context modeling — контекстное моделирование)
В этом методе строится модель исходных данных. При сжатии очередного элемента данных эта модель выдает свое предсказание или вероятность. Согласно этой вероятности, элемент данных кодируется энтропийным методом. Чем точнее модель будет соответствовать исходным данным, тем точнее она будет выдавать предсказания, и тем короче будут кодироваться элементы данных.
Для построения эффективной модели требуется много памяти. При распаковке приходится строить точно такую же модель. Поэтому скорость и требования к объему оперативной памяти для упаковки и распаковки почти одинаковы. В данный момент методы контекстного моделирования позволяют получить наилучшую степень сжатия, но отличаются чрезвычайно низкой скоростью.
PPM (PPM — Prediction by Partial Matching — предсказание по частичному совпадению)
Это особый подвид контекстного моделирования. Предсказание выполняется на основании определенного количества предыдущих элементов данных. Основным параметром является порядок модели, который задает это количество элементов. Чем больше порядок модели, тем выше степень сжатия, но требуется больше оперативной памяти для хранения данных модели. Если оперативной памяти недостаточно, то такая модель с большим порядком показывает низкие результаты. Метод PPM особенно эффективен для сжатия текстовых данных.
Предварительные преобразования или фильтрация
Данные методы служат не для сжатия, а для представления информации в удобном для дальнейшего сжатия виде. Например, для несжатых мультимедиа данных характерны плавные изменения уровня сигнала. Поэтому для них применяют дельта-преобразование, когда вместо абсолютного значения берется относительное. Существуют фильтры для текста, исполняемых файлов, баз данных и другие.
Метод сортировки блока данных (BWT — сокращение от Burrows Wheeler Transform — по имени авторов)
Это особый вид или группа преобразований, в основе которых лежит сортировка. Такому преобразованию можно подвергать почти любые данные. Сортировка производится над блоками, поэтому данные предварительно разбиваются на части. Основным параметром является размер блока, который подвергается сортировке. Для распаковки данных необходимо проделать почти те же действия, что и при упаковке. Поэтому скорость и требования к оперативной памяти почти одинаковы. Архиваторы, которые используют данный метод, обычно показывают высокую скорость и степень сжатия для текстовых данных.
Непрерывные блоки или непрерывный режим (Solid mode — непрерывный режим)
Во многих методах сжатия начальный участок данных или файла кодируется плохо. Например, в словарном методе словарь пуст. В методе контекстного моделирования модель не построена. Когда количество файлов большое, а их размер маленький, общая степень сжатия значительно ухудшается за счет этих начальных участков. Чтобы этого не происходило при переходе на следующий файл, используется информация, полученная исходя из предыдущих файлов. Аналогичного эффекта можно добиться простым представлением исходных файлов в виде одного непрерывного файла.
Этот метод используется во многих архиваторах и имеет существенный недостаток. Для распаковки произвольного файла необходимо распаковать и файлы, которые оказались в начале архива. Это необходимо для правильного заполнения словаря или построения модели. Существует и промежуточный вариант, когда используются непрерывные блоки фиксированного размера. Потери сжатия получаются минимальными, но для извлечения одного файла, который находится в конце большого архива, необходимо распаковать только один непрерывный блок, а не весь архив.
Сегментирование
Во всех методах сжатия при изменении типа данных собственно сам переход кодируется очень плохо. Словарь становится не актуальным, модель настроена на другие данные. В этих случаях применяется сегментирование. Это предварительная разбивка на однородные части. Затем эти части кодируются по отдельности или группами.
Особо хочется подчеркнуть, что существует большое количество методов сжатия. Каждый метод обычно ориентирован на один вид или группу реальных данных. Хорошие результаты показывает комплексное использование методов. Более подробно с методами сжатия можно ознакомиться, например, на www. compression. ru .
Особенности данных
Степень сжатия в основном зависит от исходных данных. Хорошо сжимаются почти все предварительно несжатые данные, например, исполняемые файлы (EXE), тексты (TXT, DOC), базы данных (DBF), простые несжатые изображения (BMP). Ограниченно сжимаются несжатый звук (WAV), сложные несжатые изображения (BMP). Не сжимаются почти все уже сжатые данные, например, архивы (ZIP, CAB), сжатые документы (PDF), сжатая графика и видео (JPG, GIF, AVI, MPG), сжатый звук (MP3). Их сжатие находится в пределах пары процентов за счет служебных блоков и небольшой избыточности.
Для сжатия некоторых специфических данных (текст, несжатые изображения, несжатый звук) существуют специальные методы и архиваторы. Такие архиваторы обеспечивают высокую степень сжатия и высокую скорость. Однако так называемые универсальные архиваторы постепенно дополняются подобными методами. В данный момент только для несжатого звука существуют высокоэффективные специальные архиваторы, такие, как OptimFROG, Monkey Audio. Для текстов и изображений лучшие универсальные архиваторы показывают лучшую степень сжатия. Например, архив изображений получится меньше, если использовать формат BMP и архиватор WinRK вместо специализированных графических форматов, таких как JPEG2000 (LossLess — сжатие без потерь).
Большое количество типов данных уже являются сжатыми. Использование архиваторов дает мизерное уменьшение размера. Тем не менее даже в таких случаях эффективное сжатие теоретически возможно. Это обусловлено тем, что в большинстве распространенных форматов файлов, использующих сжатие, применены не самые эффективные методы. Например, в основе формата JPG лежит энтропийное сжатие, которое используется после преобразований Фурье. Данные кодируются неоптимальными блоками, что обусловлено желанием сделать формат JPG устойчивым к повреждениям и возможности частичного извлечения информации. Перекодировав файлы JPG при помощи высокоэффективных методов, можно добиться сжатия порядка 75% от исходного файла (архиватор StuffIt). Собственно сам исходный файл JPG сжимается обычными архиваторами только до 96%. Однако подобные манипуляции с файлами JPG стали возможны только недавно и еще не получили распространения. В большинстве случаев сжимать уже сжатые данные бесполезно.
Какие существуют архиваторы и чем они отличаются?
Следует различать собственно программу-архиватор, формат архивов и методы сжатия. Даже один и тот же метод сжатия может иметь варианты реализации. Например, существует более десятка программ-архиваторов, которые могут создавать архивы в формате ZIP. В свою очередь данные в формате ZIP могут быть сжаты различными методами: Deflate, Deflate64, BZip2. Метод Deflate имеет несколько реализаций с разной скоростью и степенью сжатия (разница порядка 5%). С помощью этого метода архиватор 7-zip позволяет создавать архивы в формате ZIP и 7Z.
Обычно архиваторы могут создавать архивы в собственном эксклюзивном формате с использованием своих оригинальных методов. Например, архиватор RAR позволяет создавать архивы RAR. В формате архива и методах сжатия заключаются основные преимущества того или иного архиватора.
В простейшем случае архиватор позволяет только упаковать или распаковать один файл. Кроме собственно сжатия данных, современные архиваторы обеспечивают некоторые дополнительные функции. Можно выделить несколько основных:
- сжатие некоторых файлов и целых директорий;
- создание самораспаковывающихся (SFX) архивов. То есть для распаковки архива программа-архиватор не требуется;
- изменение содержимого архива;
- шифрование содержимого архива;
- информация для восстановления архива при частичном повреждении и возможность восстановления поврежденных архивов;
- разбивка архива на несколько частей или томов;
- консольная версия программы для работы из командной строки;
- графическая (GUI) версия программы.
Стоит отметить, что, несмотря на формальное наличие, реализация каждой дополнительной функции может быть выполнена на совершенно разном уровне.
Кроме различий в функциональности, можно разбить архиваторы на две группы: асимметричные и симметричные. Асимметричные архиваторы требуют для операции распаковки значительно меньше времени и оперативной памяти, чем для операции упаковки. Это позволяет быстро получать содержимое архива на маломощных компьютерах. Симметричные архиваторы требуют для операций упаковки и распаковки одинаковое время и объем оперативной памяти. Использование таких архиваторов на широком парке компьютеров или для оперативного доступа к содержимому архива ограничено. Известный архиватор RAR в качестве основного использует асимметричный словарный метод сжатия, а для текстов может использовать симметричный PPM-метод. Таким образом, распаковка архивов RAR, сжатых с максимальной степенью сжатия, может быть невозможна на компьютерах с ограниченным объемом оперативной памяти. Все или почти все передовые архиваторы с высокой степенью сжатия являются симметричными.
Точной статистики по распространенности архиваторов у меня нет. Я выскажу свою субъективную точку зрения на основе личного опыта. Безусловно, самым распространенным архиватором являются ZIP и его модификации. По своей распространенности он значительно превосходит ближайших конкурентов. Следом идут RAR и ACE. В последние годы встречается архиватор 7-zip. Других архиваторов и архивов лично мы не встречали. Исключение составляют некогда популярные ARJ и LHA. В данный момент они не актуальны из-за очень низкой степени сжатия.
Несмотря на очень скромные данные о распространенности архиваторов, их существует большое множество. Основная масса относится к категории экспериментальных и архиваторов с ограниченной функциональностью. Тем не менее каждый их них позволяет выполнять собственно процедуру сжатия данных. Меньшая распространенность увеличивает вероятность ошибок в программе. К ним стоит относиться с некоторой осторожностью. Например, при проведении тестирования была найдена ошибка в архиваторе WinRK (PWCM), которую, однако, оперативно исправили.
Тестирование максимальной степени сжатия
В данном тестировании главной целью было определить лучший по степени сжатия архиватор. Скорость сжатия была второстепенна.
Для разностороннего тестирования и выявления сильных и слабых сторон использовалось несколько наборов данных, требующих различных подходов и методов для хорошего сжатия. Их размер выбран достаточно большим, чтобы архиваторы с большим размером словаря или более эффективно использующие оперативную память могли показать свое преимущество. В сжатом при помощи ZIP виде они занимают размер в районе 15 MB.
Для каждого набора данных обычно можно подобрать наиболее оптимальные параметры сжатия. Однако в этом тестировании для всех наборов данных использовались единые параметры и методы, дающие в среднем лучшие результаты исходя из наличия 512 MB оперативной памяти. Такой подход является компромиссным. С одной стороны, можно оценить эффективность на разных типах данных, хотя некоторые архиваторы и не покажут максимальной степени сжатия. С другой стороны, в реальности приходится сжимать целые папки с разнообразными данными, а специфические значения параметров могут влиять как положительно, так и отрицательно на сжатие данных в целом. Кроме того, подбор оптимальных параметров не так прост, занимает много времени и в реальной жизни выполняется редко.
Стоит подчеркнуть, что выбор исходных данных очень сильно влияет на результаты тестирования. Например, при использовании текстовых (TXT, HTML, DOC, LOG) и мультимедиа (WAV) данных архиватор 7-zip (LZMA) покажет худшие результаты, чем RAR, который имеет специальные методы для таких типов данных. Использование несжимаемых данных (JPG, PDF) покажет мизерную разницу между архиваторами с плохой и хорошей степенью сжатия. Кстати, многие файлы могут содержать как сжимаемую информацию, так и не — сжимаемую. В том числе файлы в формате DOC и PDF.
Сильное влияние оказывает и подбор оптимальных параметров сжатия. Например, по данным www. maximumcompression. com, используещего оптимальные параметры сжатия для каждого набора данных, разница между 7-zip и RAR около 3%, что значительно меньше разницы, полученной в данном тестировании.
Тестовая система
Тестирование производилось на системе: процессор — Athlon XP 2800+, оперативная память — 512 MB.
какие программы архиваторы
чем отличаются архиваторы
что такое архиватор winrar
Какое расширение имеет ярлык. Какие бывают ярлыки в Windows и как включить показ их расширений
- LNK (ярлык файла или папки)
- URL (ярлык ссылки на Интернет адрес)
- PIF (ярлык DOS приложения)
- SCF (командный файл Windows Explorer)
- SHS (Shell Scrap Object, скрэп-файл)
- SHB (ярлык документа)
- XNK (ярлык каталога синхронизации)
Исполняемыми файлами называются файлы , содержащие в себе готовые к запуску компьютерные программы. (.bat .com .exe)
Архив — файл, содержащий в себе информацию из одного или нескольких, иногда сжатых (без потерь), других файлов. (.RAR .ZIP)
Расширение файла — конкретная последовательность символов (букв и цифр), следующая за именем файла через символ точки «. » и применяемая для идентификации типа файла программными продуктами и/или пользователем. То есть с помощью расширения файла программы и человек понимают (если знают), какой тип данных заключен в конкретном файле, какими особенностями он обладает, что необходимо для его исполнения.
Один и тот же формат всем файлам сделать нельзя, потому что программа должна понимать, какое действие или набор действий от нее ожидается, что она должна сделать. Кроме того, видимая часть, после имени файла, я говорю о расширении, помогает пользователям группировать файлы так, как им будет удобно, позволяет запоминать, что и как открывать в конкретном случае. Например, файл.doc(docx) знаем, что нужно открыть MS Word (про Word можно почитать в этой статье), файл.avi — KMP-плеером, а файл.adr будем открывать браузером Opera (это файл закладок оперы).
Стоит заметить, что расширения файлов часто означают именно специфику файла, а не принадлежность файла к какой-либо группе. Речь о том, что все типы файлов можно объединить в группы, а уже каждая группа имеет свою общую специфику. Например, файл.mp3, файл.ac3, файл.waw, файл.flac — это все музыкальные файлы, то есть все они могут открываться 1 программой, хотя и имеют разное расширение. А некоторые файлы не имеют вариаций, взять, хотя бы, обычный документ Word, файл.doc(docx) и больше нет ничего похожего. Но при этом можно объединить такой файл в группу текстовых файлов (txt, html, doc/docx).
Что делать, если Вам нужно узнать расширение файла, но через проводник его не видно? Первое, что приходит в голову — запустить Total Commander, но кто-то работает через проводник и не хочет никаких «коммандеров» (хотя время они экономят очень прилично), для таких пользователей есть способ. Нажимаем «Пуск «, выбираем «Панель управления — Параметры папок «, затем выбираем сверху вкладку «Вид «, проматываем вниз, находим строку «Скрывать расширения для зарегистрированных типов файлов» и убираем галочку.
Теперь через проводник нам будут показаны не только значки файлов, но и их расширение, а это, иногда, очень важно. Кстати, расширение Вы можете сами менять (например, вместо jpg сделать png) простым переименованием файла и заменой символов после точки, но я не советую этого делать, так-то в большинстве случаев не произойдет смены формата, а просто сменятся символы, которые видите Вы.
Вся информация (программы, документы, таблицы, рисунки и пр.) хранится в файлах.
Под файлом понимают логически связанную совокупность однотипных данных или программ, для размещения которой во внешней памяти выделяется именованная область.
Файловая система обеспечивает возможность доступа к конкретному файлу и позволяет найти свободное место при записи нового файла. Она определяет схему записи информации, содержащейся в файлах, на физический диск.
Файлы на диске записываются в свободные кластеры, поэтому фрагменты одного и того же файла могут находиться в разных местах диска. Относительно производительности системы наиболее предпочтительным является такой вариант размещения файла, когда его фрагменты занимают подряд идущие кластеры. Windows9х использует файловые системы FAT16 и FAT32, WindowsNT – файловую систему NTFS.
Каждый файл имеет имя и расширение . Расширение указывает на тип файла.
Имя файла в Windows (полное, с указанием директорий, его содержащих) может иметь до 255 символов. Расширение отделяется от имени точкой. В Windows каждому типу файла ставится в соответствие свой значок.
Например: Договор аренды.doc – это файл текстового документа, созданного программой Microsoft Word.
Вот некоторые из наиболее часто встречающихся значков файлов:
Файлы с расширением com, exe, содержат программы, готовые к выполнению – программые (исполняемые) файлы; | |
– файлы с расширением bat – пакетные файлы; | |
– файлы с расширением doc – документы, созданные в текстовом редакторе Microsoft Word; | |
– файлы с расширением xls – таблицы, созданные в табличном процессоре Microsoft Excel; | |
– файлы с расширением bmp – рисунки, созданные в графическом редакторе Paint. |
В имени и расширении файла нельзя использовать следующие символы:
* ? \ / | : »
Имя файла с расширением называется собственным именем файла.
Имена устройств
Каждому дисковому накопителю в Windows присваивается свое имя следующим образом:
A: и B: для устройств работы с дискетами,
C: для жесткого диска.
Во многих случаях жесткий диск удобно разбить на самостоятельные части (разделы). В этом случае по умолчанию каждой части присваивается свое имя C:, D:, E:, F: и т.д. по алфавиту.
При работе с компакт-диском используется имя, обозначаемое следующей по алфавиту буквой за именами разделов жесткого диска.
При использовании сетевых дисков и флэш — дисков им также присваиваются имена, которыми могут быть любые неиспользованные буквы английского алфавита. Например:
- C: , D: , E: – имена разделов жесткого диска;
- F: – имя компакт-диска;
- G: – имя сетевого диска;
- Н : –имя флэш-диска.
По умолчанию все версии операционных систем Windows XP, Vista, Windows 7 или Windows 8 не отображают расширения файла на своем рабочем столе (например, такие расширения как exe, mp3, txt, doc, avi). Это сделано для того, чтобы сделать жизнь пользователя системы проще и не смущать его непонятными «приписками» в конце названия файла. Но вам стоит знать, что Windows позволяет активировать отображение скрытых расширений файла. Включить этот режим можно через раздел настроек проводника «Folder Options» или «Свойства папки». В нем вам нужно найти опцию «Hide extensions for known file types» или «Скрывать расширения для зарегистрированных типов файлов» и дезактивировать ее (снять галочку).
Как только вы отключите эту опцию, Windows станет отображать большинство расширений файлов в Проводнике и вы сможете самостоятельно различать типы файлов. По нашему мнению, эта опция должна быть включена по-умолчанию, так как невидимость расширений несет определенный риск для компьютера. Ведь при этом очень легко замаскировать любой исполняемый файл с расширением EXE под текстовый файл с расширением TXT. В результате получится что-то вроде «filename.txt.exe». Если Windows настроена на скрытие расширений, то такой файл будет отображаться в окнах проводниках, как «filename.txt» и пользователь не сможет понять, что за этим безопасным названием скрывается исполняемый файл. Если вы попытаетесь его открыть, то запустите указанный EXE файл на выполнение. Если в нем был вредоносный код, компьютеру может быть нанесен большой ущерб.
Вот почему целесообразно всегда показывать расширения файлов в окнах Windows. Но даже если вы отключите опцию скрытия расширений через «Свойства папки», в системе останутся некоторые файлы, чьи расширения все равно не будут отображаться в Windows Explorer. Речь идет о файлах с расширением LNK (ярлык файла), URL (ярлык ссылки на Интернет адрес), PIF (ярлык DOS приложения).
Для скрытия этих расширений в Windows используются специальные ключи в системном реестре. Название этих ключей весьма «говорящее» – «NeverShowExt». Если вы установите такой ключ для любого расширения через редактор реестра, то он также не будет отображаться в системе.
Ниже мы приводим список самых популярных файлов, чьи расширения никогда не отображаются в Windows Explorer:
- LNK (ярлык файла или папки)
- URL (ярлык ссылки на Интернет адрес)
- PIF (ярлык DOS приложения)
- SCF (командный файл Windows Explorer)
- SHS (Shell Scrap Object, скрэп-файл)
- SHB (ярлык документа)
- XNK (ярлык каталога синхронизации)
Как вы уже поняли, каждый из этих файлов имеет соответствующую запись «NeverShowExt» в системном реестре и автоматически скрывает свое расширение в Windows Explorer, даже когда опция скрытия расширений дезактивирована.
Вернемся к тому, что это является потенциальным риском для системы. Согласитесь, любой злоумышленник может спрятать под видом текстового файла вредоносный код в виде скрэп-файла, например filename.txt.shs. Очевидно, что в таком случае Windows не отобразит расширение «.shs» и вы увидите только «filename.txt». Если вы запустите его, можете запросто занести на компьютер вирус.
Есть ли решение данной проблемы? Как полностью открыть для показа в системе любые расширения файлов? Ниже мы дадим вам ответы на эти вопросы!
Все что вам нужно, это удалить ключ «NeverShowExt», прописанный в реестре рядом с определенным типом файла. После этой операции вы в любом случае будете видеть расширение этого файла.
Итак, для того чтобы поднять уровень безопасности компьютера, выполните следующие шаги:
1. Нажмите комбинацию клавиш WIN+R для запуска диалогового окна «Выполнить». Наберите в нем «regedit» и нажмите Enter. Таким образом вы откроете редактор реестра.
3. В строке поиска объектов реестра введите «NeverShowExt» и нажмите Enter. Это запустит процесс поиска введенного вами строчного значения в системном реестре. В результате поиск будет остановлен на первой записи, содержащей строку «NeverShowExt».
Продолжив поиск, вы найдете еще много ключей реестра с вхождением строки «NeverShowExt», но удалить его нужно только в той ветке, которая описывает нужное вам расширение файла. Будьте очень осторожными при удалении этого параметра, так как аналогичный параметр может быть прописан и для других объектов реестра, помимо файловых расширений.
Перед тем как удалять параметр «NeverShowExt» для определенного расширения, сделайте резервную копию этой ветки реестра. Для этого вызовите правой клавишей мышки контекстное меню и выберите пункт «Экспортировать».
4. После создания резервной копии, выберите параметр «NeverShowExt» в правой панели редактора реестра и нажмите на клавиатуре кнопку «Delete» для его удаления. Далее нажмите кнопку «F3» для того, чтобы найти следующее вхождение строки «NeverShowExt». Снова и снова удаляйте это значение для ключей расширений, пока не получите сообщение «Поиск в реестре завершен».
5. На этом работа завершена. После того, как вы завершите удаление параметра расширения «NeverShowExt» из реестра, необходимо перегрузить Windows. Теперь в Проводнике (Explorer) будут абсолютно все файлы отображаться с расширениями.
Примечание: вы можете использовать специальный скрипт, который автоматически удалит все строки «NeverShowExt» в реестре, прописанные в качестве параметра для файлов со специально скрытыми расширениями. Скачайте ZIP архив, распакуйте его и запустите файл с расширением REG. На вопрос о внесении изменений в реестр дайте свое согласие. После перезагрузки компьютера вы сможете видеть в проводнике абсолютно все файлы с расширением.
354
С понятием ярлыка хорошо знакомы все пользователи Windows. Ярлык — это небольшой графический объект файловой системы, содержащий ссылку на некий файл или папку. Также ярлык может содержать различную служебную информацию — тип, аргументы, горячие клавиши, путь к целевому объекту и значку, начальное состояние окна и тому подобное. В Windows ярлыки обычно используются для запуска программ с рабочего стола.
Также ярлыки могут создавать сами пользователи путем перетаскивания целевого объекта в нужное расположение с зажатой Alt или указанием пути либо команды в окошке мастера создания ярлыка.
LNK-ярлыки
Если вы внимательно читали первый абзац, то, наверное, обратили внимание на упомянутом нами некоем типе. Да, в Windows существует несколько типов ярлыков. Ярлыки, традиционно расположенные на рабочем столе и используемые для запуска установленных программ, являются самыми распространенными. Они имеют расширение LNK и используют интерфейс IShellLink — особый механизм для работы с данным типом объектов файловой системы. Область применения LNK -ярлыков обычно ограничивается созданием ссылок на файлы, каталоги, реже апплеты классической панели управления.
URL-ярлыки
Данный тип ярлыков используется для открытия определенных веб-ресурсов в интернете. URL -ярлыки имеют простую структуру, а их содержимое обычно ограничивается определяющим тегом InternetShortcut и полным адресом ресурса. Дополнительно URL -ярлыки могут содержать путь к иконке или содержащему иконку файлу, горячие клавиши и метаинформацию. Расширение ярлыки интернета имеют URL , гораздо реже встречаются ярлыки с расширением WEBSITE . Двойной клик по таким объектам запускает браузер по умолчанию.
PIF-ярлыки
Ярлык, используемый для запуска программ MS-DOS . По назначению PIF -ярлыки близки к ярлыкам LNK , но в отличие от последних не нуждаются в посредниках вроде интерфейса IShellLink , а запускаются напрямую. Их содержимое представлено путем к исполняемому файлу, инструкциями для исполнения DOS -приложения в среде Windows и различными метаданными — сведениями об используемых шрифтах, дату создания и модификации и прочее. PIF -ярлыки пользовались популярностью в ранних версиях Windows, сегодня встречаются редко, иногда под ярлыки PIF маскируются вирусы, так что будьте осторожны, если встретите такой файл в интернете.
Ярлыки APPREF-MS
Шанс столкнуться с ярлыком, имеющим расширение APPREF-MS , у рядового пользователя весьма невелик. Создаются такие ярлыки для приложений ClickOnce и служат для подключения к серверу, на котором располагается приложение. Содержат адрес сервера и токен для запуска удаленной программы.
SHB-ярлыки
Так называемый ярлык документа, разработанный Microsoft и используемый для открытия файлов документов в Windows с помощью библиотеки shscrap.dll . По структуре и назначению близок к LNK , но встречается намного реже. Содержимое представлено путем к целевому объекту и метаданными.
XNK-ярлыки
Этот тип ярлыков используется для быстрого открытия каталога или другого элемента в программе Microsoft Outlook . Создаются XNK -ярлыки путем перетаскивания объекта из почтового клиента на рабочий стол. Использовались XNK -ярлыки в старых версиях Outlook , шанс встретить их сегодня невелик.
Как включить отображение расширений ярлыков
В Windows, даже если вы включите отображение расширений файлов, расширения ярлыков останутся скрытыми. Это сделано для вашего удобства пользования ярлыками, но это же является потенциальной угрозой безопасности, поскольку под вполне невинным текстовым файлом может скрываться вредонос с «невидимым» расширением ярлыка.
Есть, однако, способ, позволяющий включить показ расширений ярлыков, хотя и не столь очевидный.
За скрытие расширений ярлыков в реестре отвечает текстовый параметр с пустым значением. Если его удалить, соответствующее расширение станет видным. Единственная трудность в том, что вам придется найти экземпляры вручную и удалить их.
Откройте редактор реестра, выделите мышкой раздел HKEY_CLASSES_ROOT (искать параметр нужно в нём) и нажмите F3 , чтобы вызвать окошко поиска. Поскольку другие элементы нам не нужны, отмечаем галочкой только пункт «Имена параметров» и запускаем процедуру поиска.
Удаляем параметры в найденных ключах.
Предварительно создав резервную копию ключа (экспортировать) .
КБ Corel: Изучено различное сжатие файлов
Эта статья дополняет информацию, приведенную в разделе Почему некоторые файлы не очень сильно сжимаются?
Наряду с неотъемлемыми отличиями файлов одного типа от файлов другого типа, файлы одного типа (например, два текстовых файла) часто сжимаются по-разному. Когда файл заархивирован, тип информации в этом файле и то, как эти данные отформатированы, упростят или усложнят сжатие, независимо от выбранного вами метода сжатия. Кроме того, размер файла влияет на то, насколько он может быть сжат. Например, небольшие файлы часто содержат мало данных, поэтому их не так много для сжатия.
В следующей таблице показаны некоторые из этих различий. В таблице представлены результаты теста с достаточно большими наборами файлов определенных типов. Файлы также сильно различаются по своему содержанию. Двенадцать файлов Zip были созданы из файлов шести разных типов. Каждый из этих наборов файлов был заархивирован один раз с использованием сжатия Legacy (Deflate) (файл .zip) и один раз с использованием сжатия лучшего метода (файл .zipx). В последней строке таблицы отображается информация о сжатии всех шести наборов файлов в один файл .zip и один файл .zipx.
Испытание на сжатие 1 | Сдувание (.zip) | Лучший м.б. (.zipx) | ||
---|---|---|---|---|
Тип файла | % диапазона | среднее | % диапазона | среднее |
Текстовый файл (.txt) | от 0% до 99% | 73% | от 0% до 99% | 81% |
Microsoft Word (.doc) | от 2% до 98% | 70% | от 2% до 99% | 81% |
Microsoft Excel (.xls) | от 22% до 92% | 84% | от 23% до 97% | 93% |
Исполняемый файл (.exe) | от 0% до 92% | 47% | от 0% до 95% | 52% |
Файл изображения (.jpg) | от 0% до 62% | 1% | от 0% до 64% | 21% |
Библиотеки динамической компоновки (.dll) | от 34% до 95% | 67% | от 47% до 97% | 75% |
Смешанный набор файлов | от 0% до 99% | 42% | от 0% до 99% | 55% |
Примечание: Эти тесты НЕ предназначены для представления типичных результатов. Это примеры, основанные на доступных больших наборах файлов из этой офисной среды. Все файлы каждого типа, найденные на сетевом диске, были заархивированы для тестовых Zip-файлов, указанных выше. Кроме того, следует учитывать следующие факторы:
- Файлы Microsoft Office 2013/2010/2007 на самом деле представляют собой Zip-файлы с пользовательскими расширениями и плохо сжимаются. Для этого теста были включены только файлы Office более раннего типа (.doc и .xls, а не .docx и .xlsx).
- Файлы Microsoft Word и многие файлы Microsoft Excel часто содержат встроенные изображения и/или другие изображения, что снижает степень сжатия этих файлов. Очень немногие файлы Office на этом компьютере содержали изображения.
- Поскольку все файлы изображений (.jpg) на этом компьютере были включены в тест, было довольно много очень маленьких файлов, которые плохо сжимались даже при использовании метода Best. Кроме того, было несколько файлов .jpg для использования в качестве фона или шаблонов. Эти последние файлы из-за их простоты (часто только сплошной цвет) сжимаются намного лучше, чем средний файл .jpg.
Эта вторая таблица представляет еще один тест с использованием двух текстовых файлов. Оба тестируемых текстовых файла имеют размер 21,6 МБ. Однако файл 21M_a.txt содержит довольно типичную информацию с предложениями разной длины и небольшим количеством повторений, тогда как в файле 21M_b.txt короткий раздел копируется снова и снова. Это показывает, как файлы одного типа и размера могут давать разные результаты при сжатии.
Испытание на сжатие 2 | Сдувание (.zip) | Лучший м.б. (.zipx) |
---|---|---|
Файл | размер на молнии | размер на молнии |
21M_a.txt | 7,86 МБ | 4,77 МБ |
21M_b.txt | 102,34 КБ | 37,15 КБ |
Тест сжатия 2 показывает, что два файла одного типа и одного размера могут быть сжаты в разной степени. Более простой, повторяющийся текстовый файл сжимается значительно сильнее, чем другой.
Если у вас есть какие-либо вопросы по поводу этой информации, отправьте запрос в службу технической поддержки.
Статьи по теме:
Сжатие по умолчанию — что это такое, как его изменить
Спецификация дополнительных методов сжатия
Сжатие файлов: все, что вам нужно знать сжатие?
Что такое файл Zipx?
Использование сжатия Jpeg в WinZip
Почему некоторые файлы не очень сильно сжимаются?
Как заархивировать файлы на компьютере или телефоне
- Когда вы заархивируете файл, вы сожмете его данные и уменьшите объем занимаемого им места на вашем компьютере или телефоне.
- Почти все устройства имеют встроенные инструменты, позволяющие сжимать (а затем распаковывать) файлы.
Со временем ваша коллекция фотографий, видео, документов и игр может занимать много места. К счастью, есть способ освободить место на диске, ничего не удаляя.
Вы можете сжать несколько файлов в ZIP-файл, что уменьшит их размер, ничего не удаляя. Сжатие файлов — отличный способ поделиться ими или сохранить файлы, которые вы не часто открываете.
Вот как архивировать файлы на всех популярных устройствах и операционных системах.
Как заархивировать файлы на ПК с Windows
1. Выберите все файлы, которые вы хотите заархивировать. Вы можете либо обвести их рамкой, либо, удерживая Ctrl , щелкнуть каждый по отдельности.
2. Щелкните правой кнопкой мыши один из файлов и выберите Отправить на , затем выберите Сжатая (заархивированная) папка .
Опцию архивации файлов можно найти в меню «Отправить». Уильям Антонелли/Инсайдер3. Появится ZIP-файл, содержащий все сжатые данные. Не стесняйтесь переименовывать или перемещать этот файл, как хотите.
Если вам нужен больший контроль над сжатием файлов, попробуйте использовать такое приложение, как WinZip или WinRar.
Как заархивировать файлы на Mac
1. Выберите все файлы, которые вы хотите заархивировать. Вы можете либо перетащить их в рамку, либо, удерживая Command , щелкнуть каждый по отдельности.
2. Щелкните правой кнопкой мыши один из файлов и выберите Сжать .
Щелкните правой кнопкой мыши выделенные файлы и выберите параметр «Сжать». Уильям Антонелли/Инсайдер3. Появится ZIP-файл, содержащий все сжатые данные. Не стесняйтесь переименовывать или перемещать этот файл, как хотите.
Как заархивировать файлы на Chromebook
1. В приложении «Файлы» выберите все файлы, которые вы хотите заархивировать. Вы можете либо обвести их рамкой, либо, удерживая Ctrl , щелкнуть каждый по отдельности.
2. Щелкните правой кнопкой мыши один из файлов и выберите Zip selection .
Вы можете заархивировать несколько типов файлов вместе. Уильям Антонелли/Инсайдер3. Появится ZIP-файл, содержащий все сжатые данные. Не стесняйтесь переименовывать или перемещать этот файл, как хотите.
Как заархивировать файлы в Linux
В отличие от других систем, вам потребуется использовать командную строку для заархивирования файлов на компьютере с Linux.
1. Откройте командное окно, нажав Ctrl + Alt + T .
2. В командном окне введите:
zip [как вы хотите назвать zip-файл].zip [файлы, которые вы хотите заархивировать]
Например, если вы хотите заархивировать текстовый файл с именем «кошка» и изображение с именем «собака» в ZIP-файл с именем «животные», введите:
zip animals.zip cat.txt dog. jpg
Ваши файлы будут «сдуваться» — термин Linux для сжатия — и затем формироваться в ZIP-файл. Он появится в том же каталоге, что и исходные файлы, и вы увидите процентное соотношение, показывающее, насколько сжат каждый файл.
В Linux сжатие называется «выкачиванием». Кайл Уилсон/Инсайдер Что делать, если Linux говорит, что «zip» недействителенКоманда zip не всегда устанавливается по умолчанию. Если Linux не распознает его, вам необходимо установить его.
Чтобы исправить это, сначала введите и отправьте:
sudo apt install zip
или
sudo yum install zip
Затем снова попробуйте команду zip. Используйте первый, если вы используете Ubuntu или Debian, или второй, если вы используете Fedora или CentOS.
На некоторых машинах вам может потребоваться установить команду zip перед ее использованием. Кайл Уилсон/ИнсайдерЕсли вы хотите заархивировать файлы с помощью приложения вместо командных строк, рассмотрите возможность загрузки такого приложения, как PeaZip.
Как заархивировать файлы на iPhone или iPad
1. Откройте приложение «Файлы» и найдите файлы, которые вы хотите заархивировать.
2. На iPhone нажмите три точки (…) в правом верхнем углу, а затем Выберите . На iPad просто нажмите Выберите в правом верхнем углу.
Вам нужно будет выбрать все файлы, которые вы хотите заархивировать. Уильям Антонелли/Инсайдер3. Коснитесь всех документов, которые вы хотите заархивировать.
4. Выберите три точки (iPhone) или Еще (iPad) в правом нижнем углу и нажмите Сжать .
Сожмите все выбранные файлы в один ZIP-архив. Уильям Антонелли/ИнсайдерZIP-файл будет сохранен в выбранную вами папку.
Как заархивировать файлы на Android
В зависимости от вашего Android-устройства у вас может быть встроенное приложение File Manager для создания ZIP-файлов. Но если он отсутствует, загрузка стороннего приложения, такого как WinZip, — это простой способ заархивировать ваши файлы. Просто обратите внимание, что для использования всех функций WinZip вам необходимо купить премиум-версию.
Использование диспетчера файлов
1. Откройте приложение «Диспетчер файлов» и переместите все файлы, которые вы хотите сжать, в одну папку.
2. Нажмите на три точки в правом углу.
3. Выберите все элементы, которые вы хотите заархивировать, и внизу нажмите Сжать .
4. Затем выберите Сохранить , и будет создана новая папка со сжатыми файлами.
Использование WinZip
1. Загрузите и откройте WinZip, а затем предоставьте ему доступ к своим файлам, когда появится соответствующий запрос.
2. Вы увидите список папок, каждая из которых содержит различные типы носителей на вашем устройстве. Перейдите в папку по вашему выбору.
3. Если вы выбираете один файл, нажмите три точки справа от него. Если вы выбираете несколько файлов, удерживайте палец на одном из них, а затем выберите все нужные файлы.
4. Нажмите Застежка-молния .
Опция «Zip» должна быть первой в списке. Уильям Антонелли/Инсайдер5. Выберите место для сохранения (Storage, Google Drive и т. д.) и выберите Zip here .
Рон Лайонс-младший
Внештатный писатель
Рон Лайонс-младший — независимый писатель Business Insider.
ПодробнееПодробнее
Уильям Антонелли
Технический репортер для Insider Reviews
Уильям Антонелли (он/она/они) — писатель, редактор и организатор из Нью-Йорка. Как один из основателей команды Reference, он помог вырастить Tech Reference (теперь часть Insider Reviews) из скромных начинаний в гигантскую силу, которая привлекает более 20 миллионов посещений в месяц. Помимо Insider, его тексты публиковались в таких изданиях, как Polygon, The Outline, Kotaku и других. Он также является источником технического анализа на таких каналах, как Newsy, Cheddar и NewsNation. Вы можете найти его в Твиттере @DubsRewatcher или связаться с ним по электронной почте [email protected].
ПодробнееПодробнее
WinZip — Спецификация дополнительных методов сжатия
ПРИМЕЧАНИЕ. Пользователям WinZip
® не нужно читать или понимать информацию, содержащуюся на этой странице. Он предназначен для разработчиков файловых утилит Zip.В этом документе описывается формат файла, который WinZip использует для сжатия файлов методами, не описанными в спецификации Zip-файла appnote. txt. В том числе:
Метод | Версия WinZip | Дата выпуска |
ППМд | 10 бета | август 2005 г. |
WavPack | 11 бета | октябрь 2006 г. |
JPEG | 12 | сентябрь 2008 г. |
ХЗ | 18 | сентябрь 2013 г. |
MP3 | 21 | Сентябрь 2016 |
Zстандарт | 24 | июль 2019 г. |
№ по каталогу | 25 | Сентябрь 2020 |
В версии WinZip 12.1, выпущенной в мае 2009 года, появился файл Zipx. Файл Zipx представляет собой Zip-файл, в котором используется любой из вышеупомянутых методов сжатия или методы сжатия LZMA или bzip2, как описано в спецификации Zip-файла appnote. txt.
Не ставя под угрозу базовый формат файла Zip, WinZip Computing расширил спецификацию формата для поддержки новых методов сжатия. Кроме того, мы предоставляем информацию о бесплатных сторонних источниках для этих методов, большинство из которых используются WinZip. Мы считаем, что использование бесплатного кода сжатия и этой спецификации позволит всем разработчикам легко добавлять совместимое сжатие в свои утилиты Zip-файлов.
Время от времени мы можем обновлять представленную здесь информацию, например, для документирования любых изменений в форматах файлов или для добавления дополнительных примечаний или советов по внедрению.
Этот документ не является руководством по сжатию или структуре файла Zip. Хотя мы попытались предоставить необходимые сведения для реализации методов сжатия в Zip-файлах, разработчикам и другим заинтересованным третьим сторонам необходимо понимать основные концепции сжатия и иметь представление об общем формате Zip-файлов.
WinZip Computing не дает никаких гарантий относительно информации, представленной в этом документе. В частности, WinZip Computing не заявляет и не гарантирует, что представленная здесь информация не содержит ошибок или подходит для какого-либо конкретного использования, или что описанные здесь форматы файлов будут поддерживаться в будущих версиях WinZip. Вы должны тестировать и проверять весь код и методы в соответствии с хорошей практикой программирования.
PPMd — Метод сжатия 98
PPMd — алгоритм сжатия данных с открытым исходным кодом, разработанный Дмитрием Шкариным. WinZip использует версию I, ревизию 1 алгоритма. Информация и исходный код для PPMd I rev. 1 можно найти в Интернете по адресу http://www.compression.ru/ds/.
WinZip добавляет к началу сжатых данных PPMd в Zip-файле одно двухбайтовое СЛОВО данных, содержащее следующие три поля:
- Метод восстановления модели при нехватке памяти:
MRM_RESTART — перезапустить модель с нуля (0 — по умолчанию)
MRM_CUT_OFF — отрезать модель (1)
MRM_FREEZE — заморозить дерево контекста (2) - Размер SubAlloc (в МБ): по умолчанию 50 МБ.
WinZip извлекает файлы с размером SubAlloc размером от 1 МБ до 256 МБ включительно (при условии, что на ПК с WinZip имеется достаточно свободной памяти). - Максимальный порядок моделей: по умолчанию — 8.
WinZip извлечет файлы с максимальным порядком моделей от 2 до 16 включительно (опять же, при условии, что на ПК с WinZip имеется достаточно свободной памяти).
Эти поля упакованы в двухбайтовое СЛОВО (хранится в порядке Intel младшие/старшие байты) в начале сжатого файла, как показано в следующем фрагменте кода C++:
- СЛОВО wInfo = static_cast
(MaxModelOrder — 1)
| static_cast((SubAllocatorSize — 1) << 4)
| static_cast>(ModelRestorationMethod) << 12;
Для файлов, сжатых с помощью PPMd, WinZip устанавливает версию, необходимую для извлечения, и версию, созданную по полям в локальном и центральном заголовках, на те же значения, которые использовались бы, если бы файлы были сжаты с помощью алгоритма Deflate.
WavPack — метод сжатия 97
WavPack — это формат сжатия аудио без потерь с открытым исходным кодом, разработанный Дэвидом Брайантом. Информацию и исходный код для WavPack 4.32, который обратно и обратно совместим с версией WavPack, используемой в WinZip 11.0 или более поздней версии, можно найти в Интернете по адресу http://www.wavpack.com.
WinZip сохраняет каждый сжатый файл .WAV, сжатый WavPack, в качестве вывода процедур WavPack в файле Zip сразу после окончания локального заголовка. Он устанавливает метод сжатия на 97 в локальных и центральных заголовках. WinZip также устанавливает версию, необходимую для извлечения, и версию, созданную по полям в локальном и центральном заголовках, на те же значения, которые использовались бы, если бы файлы были сжаты с помощью алгоритма Deflate.
ПРИМЕЧАНИЕ. необходимо сжать всю последовательность байтов, используемых для хранения выборки, а не только биты, используемые для представления самой выборки. Например, для 12-битных образцов требуется 2 байта (16 бит) в формате файла .WAV. Если вы сообщите WavPack, что размер выборки составляет всего 12 бит, он проигнорирует 4 неиспользуемых бита во время сжатия и установит их в 0 при извлечении, независимо от того, что они были установлены в исходном файле. Вместо этого необходимо сообщить WavPack, что размер выборки составляет полные 16 бит вместо фактических 12 бит, чтобы гарантировать, что файл извлекается в тот, который побитно идентичен исходным 9 битам.0003
Сжатие Jpeg — Метод сжатия 96
Сжатый Jpeg — это формат сжатия без потерь для файлов JPEG. Информацию о сжатом формате Jpeg 1.0, используемом в WinZip 12.0 или более поздних версиях, можно найти в Интернете по адресу https://www.winzip.com/wz-jpg-comp.pdf.
WinZip сохраняет каждый сжатый файл JPEG как вывод процедуры сжатия JPEG в Zip-файле сразу после окончания локального заголовка. Он устанавливает метод сжатия равным 96 в локальном и центральном заголовках. WinZip также устанавливает версию, необходимую для извлечения, и версию, созданную по полям в локальном и центральном заголовках, на те же значения, которые использовались бы, если бы файлы были сжаты с помощью алгоритма Deflate.
XZ — Метод сжатия 95
XZ — это формат сжатия данных с открытым исходным кодом, разработанный совместно Игорем Павловым и Лассе Коллином. Он включает в себя алгоритм сжатия LZMA2 в сочетании с дополнительными фильтрами предварительной обработки для большего сжатия. Информацию и исходный код можно найти в Интернете по адресу http://tukaani.org/xz/.
WinZip поддерживает полную спецификацию XZ 1.0.4 со следующими двумя ограничениями:
- Используется только один поток. Поток может быть дополнительно дополнен нулями.
- Поддерживается только фильтр LZMA2 плюс один дополнительный фильтр. Распознаются все предопределенные фильтры, описанные в спецификации XZ.
WinZip создает блок потока с типом проверки NONE. Целостность данных обеспечивается стандартным механизмом CRC-32, описанным в спецификации формата Zip. Все типы проверки XZ, включая CRC-64 и SHA-256, поддерживаются для приложений, которые их реализуют. Несколько блоков в потоке поддерживаются и должны быть заполнены нулями, как описано в спецификации XZ.
Для файлов, сжатых с помощью XZ, WinZip устанавливает версию, необходимую для извлечения, и версию, созданную по полям в локальном и центральном заголовках, на те же значения, которые использовались бы, если бы файлы были сжаты с помощью алгоритма Deflate.
MP3 — Метод сжатия 94
Сжатие аудиофайлов MP3 — это алгоритм с открытым исходным кодом, разработанный Маттиасом Штирнером для его программы сжатия PackMP3. Он находится под лицензией LGPL v3. Информацию и исходный код можно найти на GitHub.
WinZip сохраняет сжатые данные в файле Zip сразу после окончания локального заголовка. Он устанавливает метод сжатия равным 94 в локальном и центральном заголовках. WinZip также устанавливает версию, необходимую для извлечения, и версию, созданную по полям в локальном и центральном заголовках, на те же значения, которые использовались бы, если бы файлы были сжаты с помощью алгоритма Deflate.
Zstandard — метод сжатия 93
Сжатие Zstandard (zstd) — это алгоритм сжатия данных с открытым исходным кодом, разработанный Яном Колле в Facebook. Он имеет двойную лицензию BSD + GPLv2. Информацию и исходный код можно найти на GitHub.
WinZip сохраняет сжатые данные в файле Zip сразу после окончания локального заголовка. Он устанавливает метод сжатия равным 93 в локальном и центральном заголовках. WinZip также устанавливает версию, необходимую для извлечения, и версию, созданную по полям в локальном и центральном заголовках, на те же значения, которые использовались бы, если бы файлы были сжаты с помощью алгоритма Deflate.
Ссылка — метод сжатия 92
Метод справки указывает, что файл сжат как ссылка. Ссылки используются для связывания повторяющихся файлов в Zip-файле. Дубликаты определяются как файлы, которые идентичны по содержимому и размеру, но могут иметь разные имена, даты или другие атрибуты или находиться в разных папках.
Сжатые данные для ссылки состоят из хэша SHA-1 исходных данных файла. Хэш SHA-1 имеет длину 160 бит; таким образом, все ссылки на файлы имеют сжатый размер 20 байт. Соответственно, рекомендуется, чтобы файлы меньше минимального порогового размера (WinZip использует 4 КБ) не рассматривались как дубликаты.
В дополнение к сжатым данным для эталонного метода требуется дополнительное поле данных, содержащее идентифицирующую информацию, которая должна быть прикреплена к центральному заголовку и, необязательно, к локальному заголовку. Аналогичное поле дополнительных данных также прикрепляется к центральным/локальным заголовкам файла, на который делается ссылка (референта). Это устанавливает связь между ними.
Идентификатор заголовка дополнительных данных для ссылки: 0x9903. Все поля хранятся в формате с прямым порядком байтов, за исключением UUID, который имеет формат с прямым порядком байтов. Поле дополнительных данных имеет длину 24, 20 байтов данных плюс два байта для идентификатора заголовка и два байта для размера данных.
Смещение | Размер (байты) | Содержание |
0 | 2 | Идентификатор заголовка дополнительного поля (0x9903) |
2 | 2 | Дополнительный размер данных |
4 | 4 | 32-битный CRC |
8 | 16 | UUID |
Целью CRC является проверка того, что дополнительные данные прикрепляются к правильному заголовку при распаковке. Это может быть неправильно, если Zip-файл был изменен приложением, которое не понимает или не поддерживает повторяющиеся ссылки на файлы.
CRC вычисляется из следующих полей в следующем порядке:
Метод сжатия из заголовка, расширенный до 32-битного целого числа без знака
Отметка времени из заголовка, расширенная до 32-битного целого числа без знака
Значение CRC-32 из заголовка, которое уже является 32-битным целым числом без знака
Наконец, 16 байтов данных, составляющих UUID
UUID создается в соответствии с RFC 4122. В частности, все поля имеют обратный порядок байтов или сетевой порядок байтов. WinZip использует UUID варианта 1 и версии 4 (генерируется случайным образом).
WinZip устанавливает версию, необходимую для извлечения, и версию, созданную по полям в локальном и центральном заголовках, на те же значения, которые использовались бы, если бы файлы были сжаты с помощью алгоритма Deflate.
При распаковке ссылки (метод 92) следует использовать следующую процедуру:
Проверить правильность дополнительных данных, прикрепленных к заголовку (проверить 32-битную CRC)
Поиск референта в центральном каталоге. Референт идентифицируется записью, которая не сжата как ссылка (метод 92) и имеет дополнительное поле данных (ID 0x9903) с соответствующим UUID.
Проверить правильность дополнительных данных, прикрепленных к заголовку референта (проверить 32-битную CRC)
Распаковать исходные данные, как обычно, но для ссылки
Проверка правильности хэша SHA-1 (сжатых данных эталона) для распакованных данных референта
Последнее замечание о шифровании. Дублирующиеся ссылки на файлы не следует использовать в сочетании с шифрованием из-за присущих им конфликтов. WinZip не поддерживает это.
Все заслуги и наша благодарность:
- Дмитрий Шкарин за то, что поделился PPMd с миром
- Дмитрию Субботину за размещение в открытом доступе своего «беспроводного дальномера»
- Дэвид Брайант за открытие исходного кода WavPack
- Игорь Павлов и Лассе Коллин за то, что сделали исходники XZ доступными для всех
Версия документа: 3.2
Последнее изменение: март 2021 г.
Copyright © Corel Corporation, 2003 г.
Все права защищены
Эффективное управление ZIP-файлами — настоящий Python
Zip-файл Python
— это стандартный библиотечный модуль, предназначенный для управления ZIP-файлами . Этот формат файла является широко распространенным отраслевым стандартом, когда речь идет об архивировании и сжатии цифровых данных. Вы можете использовать его для упаковки нескольких связанных файлов. Это также позволяет уменьшить размер ваших файлов и сэкономить место на диске. Самое главное, это облегчает обмен данными по компьютерным сетям.
Знание того, как создавать, читать, писать, заполнять, извлекать и перечислять ZIP-файлы с помощью модуля zipfile
, является полезным навыком для разработчика Python или инженера DevOps.
В этом руководстве вы узнаете, как:
- Читать, записывать и извлекать файлы из ZIP-файлов с помощью zip-файла Python
- Чтение метаданных о содержимом файлов ZIP с использованием
zipfile
- Использовать
zip-файл
– управлять файлами участников в существующих ZIP-файлах - Создать новых ZIP-файлов для архивации и сжатия файлов
Если вы обычно имеете дело с ZIP-файлами, то эти знания могут помочь оптимизировать ваш рабочий процесс для уверенной обработки ваших файлов.
Чтобы получить максимальную отдачу от этого руководства, вы должны знать основы работы с файлами, использования оператора with
, обработки путей файловой системы с помощью pathlib
и работы с классами и объектно-ориентированным программированием.
Чтобы получить файлы и архивы, которые вы будете использовать для кодирования примеров в этом руководстве, щелкните ссылку ниже:
Начало работы с ZIP-файлами
ZIP-файлы — хорошо известный и популярный инструмент в современном цифровом мире. Эти файлы достаточно популярны и широко используются для межплатформенного обмена данными в компьютерных сетях, в частности в Интернете.
Вы можете использовать ZIP-файлы для объединения обычных файлов в единый архив, сжатия данных для экономии места на диске, распространения цифровых продуктов и многого другого. В этом руководстве вы узнаете, как манипулировать ZIP-файлами с помощью Python 9.0725 zipfile модуль.
Поскольку терминология, связанная с ZIP-файлами, может иногда сбивать с толку, в этом руководстве будут соблюдаться следующие терминологические соглашения:
Срок | Значение |
---|---|
ZIP-файл, ZIP-архив или архив | Физический файл в формате ZIP |
Файл | Обычный компьютерный файл |
Файл участника | Файл, являющийся частью существующего ZIP-файла |
Четкое понимание этих терминов поможет вам избежать путаницы при чтении следующих разделов. Теперь вы готовы продолжить изучение того, как эффективно манипулировать ZIP-файлами в коде Python!
Удалить рекламу
Что такое ZIP-файл?
Вероятно, вы уже сталкивались с ZIP-файлами и работали с ними. Да, файлы с расширением .zip
есть везде! ZIP-файлы, также известные как ZIP-архивы — это файлы, использующие формат ZIP-файлов .
PKWARE — это компания, которая создала и первой внедрила этот формат файла. Компания составила и поддерживает текущую спецификацию формата, которая является общедоступной и позволяет создавать продукты, программы и процессы, которые считывают и записывают файлы с использованием формата файлов ZIP.
Формат файла ZIP является кросс-платформенным, совместимым форматом для хранения и передачи файлов. Он сочетает в себе сжатие данных без потерь, управление файлами и шифрование данных.
Сжатие данных не является обязательным требованием для того, чтобы архив считался ZIP-файлом. Таким образом, вы можете иметь сжатые или несжатые файлы участников в своих ZIP-архивах. Формат файла ZIP поддерживает несколько алгоритмов сжатия, хотя наиболее распространенным является Deflate. Формат также поддерживает проверку целостности информации с помощью CRC32.
Несмотря на то, что существуют другие подобные форматы архивации, такие как файлы RAR и TAR, формат файлов ZIP быстро стал общепринятым стандартом для эффективного хранения данных и обмена данными по компьютерным сетям.
ZIP-файлы повсюду. Например, офисные пакеты, такие как Microsoft Office и Libre Office, полагаются на формат файла ZIP в качестве файла-контейнера документа. Это означает, что файлы .docx
, .xlsx
, .pptx
, .odt
, .ods
, .odp
на самом деле представляют собой ZIP-архивы, содержащие несколько файлов и папок. Другие распространенные файлы, использующие формат ZIP, включают .jar
, .war
и .epub
файлов.
Возможно, вы знакомы с GitHub, который предоставляет веб-хостинг для разработки программного обеспечения и управления версиями с помощью Git. GitHub использует ZIP-файлы для упаковки программных проектов, когда вы загружаете их на свой локальный компьютер. Например, вы можете загрузить решения упражнений для книги Основы Python: практическое введение в Python 3 в виде ZIP-файла или любой другой проект по вашему выбору.
ZIP-файлыпозволяют объединять, сжимать и шифровать файлы в единый совместимый переносимый контейнер. Вы можете передавать ZIP-файлы в потоковом режиме, разбивать их на сегменты, делать их самораспаковывающимися и т. д.
Зачем использовать ZIP-файлы?
Умение создавать, читать, записывать и извлекать ZIP-файлы может быть полезным навыком для разработчиков и специалистов, работающих с компьютерами и цифровой информацией. Помимо других преимуществ, ZIP-файлы позволяют:
- Уменьшить размер файлов и требования к их хранилищу без потери информации
- Повышение скорости передачи по сети за счет уменьшения размера и передачи одного файла
- Упакуйте несколько связанных файлов вместе в один архив для эффективного управления
- Объедините свой код в единый архив для целей распространения
- Защитите свои данные с помощью шифрования , которое в настоящее время является обычным требованием
- Гарантия целостности вашей информации во избежание случайных и злонамеренных изменений ваших данных
Эти функции делают ZIP-файлы полезным дополнением к вашему набору инструментов Python, если вы ищете гибкий, портативный и надежный способ архивирования цифровых файлов.
Может ли Python манипулировать ZIP-файлами?
Да! В Python есть несколько инструментов, которые позволяют вам манипулировать ZIP-файлами. Некоторые из этих инструментов доступны в стандартной библиотеке Python. Они включают низкоуровневые библиотеки для сжатия и распаковки данных с использованием определенных алгоритмов сжатия, такие как zlib
, bz2
, lzma
и другие.
Python также предоставляет высокоуровневый модуль под названием zipfile
, специально разработанный для создания, чтения, записи, извлечения и вывода содержимого ZIP-файлов. В этом руководстве вы узнаете о Python 9.0725 zipfile и как его эффективно использовать.
Управление существующими ZIP-файлами с помощью ZIP-файла Python
ZIP-файл Python
предоставляет удобные классы и функции, которые позволяют вам создавать, читать, записывать, извлекать и перечислять содержимое ваших ZIP-файлов. Вот некоторые дополнительные функции, которые поддерживает zipfile
:
- ZIP-файлы размером более 4 ГБ (файлы ZIP64)
- Расшифровка данных
- Несколько алгоритмов сжатия, например Deflate, Bzip2 и LZMA
- Проверка целостности информации с помощью CRC32
Имейте в виду, что zipfile
имеет несколько ограничений. Например, текущая функция расшифровки данных может быть довольно медленной, поскольку она использует чистый код Python. Модуль не поддерживает создание зашифрованных ZIP-файлов. Наконец, использование многодисковых ZIP-файлов также не поддерживается. Несмотря на эти ограничения, zipfile
по-прежнему является отличным и полезным инструментом. Продолжайте читать, чтобы изучить его возможности.
Удаление рекламы
Открытие ZIP-файлов для чтения и записи
В модуле zipfile
вы найдете класс ZipFile
. Этот класс работает почти так же, как встроенная в Python функция open()
, позволяя открывать ZIP-файлы в различных режимах. Режим чтения ( "r"
) используется по умолчанию. Вы также можете использовать режимы записи ( "w"
), добавления ( "a"
) и монопольного ( "x"
) режима. Вы узнаете больше о каждом из них чуть позже.
ZipFile
реализует протокол диспетчера контекста , так что вы можете использовать класс в инструкции с
. Эта функция позволяет быстро открывать ZIP-файл и работать с ним, не беспокоясь о закрытии файла после завершения работы.
Прежде чем писать какой-либо код, убедитесь, что у вас есть копии файлов и архивов, которые вы будете использовать:
Чтобы подготовить рабочую среду, поместите загруженные ресурсы в каталог с именем 9.0725 python-zipfile/ в вашей домашней папке. Как только вы разместите файлы в нужном месте, перейдите во вновь созданный каталог и запустите там интерактивный сеанс Python.
Чтобы разогреться, вы начнете с чтения ZIP-файла с именем sample.zip
. Для этого вы можете использовать ZipFile
в режиме чтения:
>>>
>>> импортировать zip-файл >>> с zipfile.ZipFile("sample.zip", mode="r") в качестве архива: ... архив.printdir() ... Имя файла Измененный размер привет.txt 2021-09-07 19:50:10 83 лорем.мд 2021-09-07 19:50:10 2609 realpython.md 2021-09-07 19:50:10 428
Первым аргументом инициализатора ZipFile
может быть строка, представляющая путь к ZIP-файлу, который необходимо открыть. Этот аргумент также может принимать объекты, подобные файлам и путям. В этом примере вы используете путь на основе строки.
Второй аргумент ZipFile
— это однобуквенная строка, представляющая режим, который вы будете использовать для открытия файла. Как вы узнали в начале этого раздела, ZipFile
может принимать четыре возможных режима, в зависимости от ваших потребностей. Позиционный аргумент режима
по умолчанию равен "r"
, поэтому вы можете избавиться от него, если хотите открыть архив только для чтения.
Внутри инструкции с
вы вызываете .printdir()
в архиве
. Переменная архива теперь содержит сам экземпляр
ZipFile
. Эта функция обеспечивает быстрый способ отображения содержимого базового ZIP-файла на экране. Вывод функции имеет удобный табличный формат с тремя информативными столбцами:
-
Имя файла
-
Модифицированный
-
Размер
Если вы хотите убедиться, что вы нацелены на действительный ZIP-файл, прежде чем пытаться его открыть, вы можете обернуть ZipFile
в оператор try
… , кроме
, и поймать любое исключение BadZipFile
:
>>>
>>> импортировать zip-файл >>> попробуйте: . .. с zipfile.ZipFile("sample.zip") в качестве архива: ... архив.printdir() ... кроме zipfile.BadZipFile как ошибки: ... печать (ошибка) ... Имя файла Измененный размер привет.txt 2021-09-07 19:50:10 83 лорем.мд 2021-09-07 19:50:10 2609 realpython.md 2021-09-07 19:50:10 428 >>> попробуйте: ... с zipfile.ZipFile("bad_sample.zip") в качестве архива: ... архив.printdir() ... кроме zipfile.BadZipFile как ошибки: ... печать (ошибка) ... Файл не является zip-файлом
Первый пример успешно открывает sample.zip
без возникновения исключения BadZipFile
. Это потому что sample.zip
имеет допустимый формат ZIP. С другой стороны, во втором примере не удается открыть bad_sample.zip
, потому что этот файл не является допустимым ZIP-файлом.
Чтобы проверить действительный ZIP-файл, вы также можете использовать функцию is_zipfile()
:
>>>
>>> импортировать zip-файл >>> если zipfile. is_zipfile("sample.zip"): ... с zipfile.ZipFile("sample.zip", "r") в качестве архива: ... архив.printdir() ... еще: ... print("Файл не является zip-архивом") ... Имя файла Измененный размер привет.txt 2021-09-07 19:50:10 83 лорем.мд 2021-09-07 19:50:10 2609 realpython.md 2021-09-07 19:50:10 428 >>> если zipfile.is_zipfile("bad_sample.zip"): ... с zipfile.ZipFile("bad_sample.zip", "r") в качестве архива: ... архив.printdir() ... еще: ... print("Файл не является zip-архивом") ... Файл не является zip-файлом
В этих примерах используется условный оператор с is_zipfile()
в качестве условия. Эта функция занимает имя файла
аргумент, который содержит путь к ZIP-файлу в вашей файловой системе. Этот аргумент может принимать строки, файлы или пути. Функция возвращает True
, если имя файла
является допустимым ZIP-файлом. В противном случае возвращается False
.
Предположим, вы хотите добавить hello. txt
в архив hello.zip
, используя ZipFile
. Для этого вы можете использовать режим записи ( "w"
). Этот режим открывает ZIP-файл для записи. Если целевой ZIP-файл существует, то "w"
режим усекает его и записывает любой новый контент, который вы передаете.
Примечание: Если вы используете ZipFile
с существующими файлами, вам следует быть осторожным с режимом "w"
. Вы можете обрезать ZIP-файл и потерять все исходное содержимое.
Если целевой ZIP-файл не существует, то ZipFile
создает его для вас, когда вы закрываете архив:
>>>
>>> импортировать zip-файл >>> с zipfile.ZipFile("hello.zip", mode="w") в качестве архива: ... архив.запись("hello.txt") ...
После запуска этого кода у вас будет файл hello.zip
в вашем каталоге python-zipfile/
. Если вы перечислите содержимое файла, используя . printdir()
, вы заметите, что там будет hello.txt
. В этом примере вы вызываете .write()
для объекта ZipFile
. Этот метод позволяет вам записывать файлы участников в ваши ZIP-архивы. Обратите внимание, что аргументом .write()
должен быть существующий файл.
Примечание: ZipFile
достаточно умен, чтобы создать новый архив, когда вы используете класс в режиме записи, а целевой архив не существует. Однако класс не создает новые каталоги в пути к целевому ZIP-файлу, если эти каталоги еще не существуют.
Это объясняет, почему следующий код не будет работать:
>>>
>>> import zipfile >>> с zipfile.ZipFile("missing/hello.zip", mode="w") в качестве архива: ... архив.запись("hello.txt") ... Traceback (последний последний вызов): ... FileNotFoundError: [Errno 2] Нет такого файла или каталога: 'missing/hello.zip'
Поскольку каталог отсутствует/
в пути к целевому файлу hello. zip
не существует, вы получаете исключение FileNotFoundError
.
Режим добавления ( "a"
) позволяет вам добавлять новых файлов-членов к существующему ZIP-файлу. Этот режим не усекает архив, поэтому его исходное содержимое безопасно. Если целевой ZIP-файл не существует, то режим "a"
создает для вас новый, а затем добавляет любые входные файлы, которые вы передаете в качестве аргумента, к .write()
.
Чтобы опробовать режим "a"
, добавьте файл new_hello.txt
во вновь созданный архив hello.zip
:
>>>
>>> импортировать zip-файл >>> с zipfile.ZipFile("hello.zip", mode="a") в качестве архива: ... архив.записать("new_hello.txt") ... >>> с zipfile.ZipFile("hello.zip") в качестве архива: ... архив.printdir() ... Имя файла Измененный размер привет.txt 2021-09-07 19:50:10 83 new_hello.txt 2021-08-31 17:13:44 13
Здесь вы используете режим добавления, чтобы добавить new_hello. txt
в файл hello.zip
. Затем вы запускаете .printdir()
, чтобы убедиться, что новый файл присутствует в ZIP-файле.
ZipFile
также поддерживает эксклюзивный режим ( "x"
). Этот режим позволяет вам исключительно создавать новые ZIP-файлы и записывать в них новые файлы-члены. Вы будете использовать эксклюзивный режим, когда захотите создать новый ZIP-файл, не перезаписывая существующий. Если целевой файл уже существует, вы получите FileExistsError
.
Наконец, если вы создаете ZIP-файл, используя режим "w"
, "a"
или "x"
, а затем закрываете архив без добавления каких-либо файлов-членов, то ZipFile
создает пустой архив с соответствующий формат ZIP.
Удаление рекламы
Чтение метаданных из ZIP-файлов
Вы уже использовали .printdir()
. Это полезный метод, который вы можете использовать для быстрого просмотра содержимого ваших ZIP-файлов. Наряду с .printdir()
, класс ZipFile
предоставляет несколько удобных методов для извлечения метаданных из существующих ZIP-файлов.
Вот краткое описание этих методов:
Метод | Описание |
---|---|
.getinfo(имя файла) | Возвращает объект ZipInfo с информацией о файле-члене, предоставленном имя файла . Обратите внимание, что имя файла должно содержать путь к целевому файлу внутри базового ZIP-файла. |
.infolist() | Возвращает список из объектов ZipInfo , по одному на файл-член. |
.namelist() | Возвращает список, содержащий имена всех файлов-членов базового архива. Имена в этом списке являются допустимыми аргументами для .getinfo() . |
С помощью этих трех инструментов вы можете получить много полезной информации о содержимом ваших ZIP-файлов. Например, взгляните на следующий пример, в котором используется .getinfo()
:
>>>
>>> импортировать zip-файл >>> с zipfile.ZipFile("sample.zip", mode="r") в качестве архива: ... информация = archive.getinfo("hello.txt") ... >>> info.file_size 83 >>> info.compress_size 83 >>> info.имя файла 'привет.txt' >>> информация.дата_время (2021, 9, 7, 19, 50, 10)
Как вы узнали из приведенной выше таблицы, .getinfo()
принимает в качестве аргумента файл участника и возвращает ZipInfo
объект с информацией о нем.
Примечание. ZipInfo
не предназначен для прямого создания. Методы .getinfo()
и .infolist()
автоматически возвращают объектов ZipInfo
при их вызове. Однако ZipInfo
включает в себя метод класса .from_file()
, который позволяет вам явно создать экземпляр класса, если вам когда-либо понадобится это сделать.
Объекты ZipInfo
имеют несколько атрибутов, позволяющих получить ценную информацию о целевом файле-члене. Например, .file_size
и .compress_size
содержат размер исходного и сжатого файлов в байтах соответственно. Класс также имеет некоторые другие полезные атрибуты, такие как .filename
и .date_time
, которые возвращают имя файла и дату последнего изменения.
Примечание: По умолчанию ZipFile
не сжимает входные файлы, чтобы добавить их в окончательный архив. Вот почему размер и сжатый размер в приведенном выше примере совпадают. Вы узнаете больше об этой теме в разделе «Сжатие файлов и каталогов» ниже.
С помощью .infolist()
вы можете извлечь информацию из всех файлов в заданном архиве. Вот пример использования этого метода для создания минимального отчета с информацией обо всех файлах-участниках в вашем архиве sample.zip
:
>>>
>>> импорт даты и времени >>> импортировать zip-файл >>> с zipfile. ZipFile("sample.zip", mode="r") в качестве архива: ... для информации в archive.infolist(): ... print(f"Имя файла: {info.filename}") ... print(f"Изменено: {datetime.datetime(*info.date_time)}") ... print(f"Нормальный размер: {info.file_size} байт") ... print(f"Сжатый размер: {info.compress_size} байт") ... печать("-" * 20) ... Имя файла: привет.txt Изменено: 2021-09-07 19:50:10 Обычный размер: 83 байта Размер в сжатом виде: 83 байта -------------------- Имя файла: lorem.md Изменено: 2021-09-07 19:50:10 Обычный размер: 2609 байт Размер в сжатом виде: 2609 байт. -------------------- Имя файла: realpython.md Изменено: 2021-09-07 19:50:10 Обычный размер: 428 байт Размер в сжатом виде: 428 байт. --------------------
Цикл для
перебирает объекты ZipInfo
из .infolist()
, извлекая имя файла, дату последней модификации, нормальный размер и сжатый размер каждого файла-члена. В этом примере вы использовали datetime
для форматирования даты в удобочитаемом виде.
Примечание: Приведенный выше пример был адаптирован из zip-файла — доступ к ZIP-архиву.
Если вам просто нужно выполнить быструю проверку ZIP-файла и перечислить имена его файлов-членов, вы можете использовать .namelist()
:
>>>
>>> импортировать zip-файл >>> с zipfile.ZipFile("sample.zip", mode="r") в качестве архива: ... для имени файла в archive.namelist(): ... печать (имя файла) ... привет.txt лорем.мд realpython.md
Поскольку имена файлов в этом выводе являются допустимыми аргументами для .getinfo()
, вы можете комбинировать эти два метода для получения информации только о выбранных файлах-членах.
Например, у вас может быть ZIP-файл, содержащий различные типы файлов элементов ( .docx
, .xlsx
, .txt
и т. д.). Вместо получения полной информации с помощью .infolist()
вам просто нужно получить информацию о файлах . docx
. Затем вы можете отфильтровать файлы по их расширению и вызвать .getinfo()
только для файлов .docx
. Давай, попробуй!
Чтение и запись в файлы элементов
Иногда у вас есть ZIP-файл, и вам нужно прочитать содержимое данного файла-члена, не распаковывая его. Для этого вы можете использовать .read()
. Этот метод принимает имя файла-члена
и возвращает содержимое этого файла в виде байтов:
>>>
>>> импортировать zip-файл >>> с zipfile.ZipFile("sample.zip", mode="r") в качестве архива: ... для строки в archive.read("hello.txt").split(b"\n"): ... печать (строка) ... b'Здравствуйте, Pythonista!' б'' b'Добро пожаловать в настоящий Python!' б'' b"Готов попробовать модуль Python zipfile?" б''
Чтобы использовать .read()
, вам нужно открыть ZIP-файл для чтения или добавления. Обратите внимание, что .read()
возвращает содержимое целевого файла в виде потока байтов. В этом примере вы используете .split()
для разделения потока на строки, используя символ перевода строки "\n"
в качестве разделителя. Поскольку .split()
работает с байтовым объектом, вам необходимо добавить b
к строке, используемой в качестве аргумента.
ZipFile.read()
также принимает второй позиционный аргумент с именем pwd
. Этот аргумент позволяет указать пароль для чтения зашифрованных файлов. Чтобы попробовать эту функцию, вы можете положиться на файл sample_pwd.zip
, который вы загрузили с материалами для этого руководства:
>>>
>>> импортировать zip-файл >>> с zipfile.ZipFile("sample_pwd.zip", mode="r") в качестве архива: ... для строки в archive.read("hello.txt", pwd=b"secret").split(b"\n"): ... печать (строка) ... b'Здравствуйте, Pythonista!' б'' b'Добро пожаловать в настоящий Python!' б'' b"Готов попробовать модуль Python zipfile?" б'' >>> с zipfile. ZipFile("sample_pwd.zip", mode="r") в качестве архива: ... для строки в archive.read("hello.txt").split(b"\n"): ... печать (строка) ... Traceback (последний последний вызов): ... RuntimeError: файл «hello.txt» зашифрован, для извлечения требуется пароль
В первом примере вы вводите пароль secret
для чтения вашего зашифрованного файла. Аргумент pwd
принимает значения типа bytes. Если вы используете .read()
для зашифрованного файла без указания необходимого пароля, вы получите RuntimeError
, как вы можете заметить во втором примере.
Примечание. Zip-файл Python
поддерживает расшифровку. Однако он не поддерживает создание зашифрованных ZIP-файлов. Вот почему вам нужно будет использовать внешний файловый архиватор для шифрования ваших файлов.
Некоторые популярные файловые архиваторы включают 7z и WinRAR для Windows, Ark и GNOME Archive Manager для Linux и Archiver для macOS.
Имейте в виду, что для больших зашифрованных ZIP-файлов операция расшифровки может быть очень медленной, поскольку она реализована на чистом Python. В таких случаях рассмотрите возможность использования специализированной программы для обработки ваших архивов вместо zipfile
.
Если вы регулярно работаете с зашифрованными файлами, вам может потребоваться не указывать пароль для расшифровки каждый раз, когда вы звоните .read()
или другой метод, который принимает аргумент pwd
. Если это так, вы можете использовать ZipFile.setpassword()
для установки глобального пароля:
>>>
>>> импортировать zip-файл >>> с zipfile.ZipFile("sample_pwd.zip", mode="r") в качестве архива: ... архив.установить пароль(b"секрет") ... для файла в archive.namelist(): ... распечатать файл) ... печать("-" * 20) ... для строки в archive.read(file).split(b"\n"): ... печать (строка) . .. привет.txt -------------------- b'Здравствуйте, Pythonista!' б'' b'Добро пожаловать в настоящий Python!' б'' b"Готов попробовать модуль Python zipfile?" б'' лорем.мд -------------------- b'# Лорем Ипсум' б'' b'Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...
С .setpassword()
вам просто нужно ввести свой пароль один раз. ZipFile
использует этот уникальный пароль для расшифровки всех файлов-членов.
Напротив, если у вас есть ZIP-файлы с разными паролями для отдельных файлов-членов, вам необходимо указать конкретный пароль для каждого файла, используя аргумент pwd
.read()
:
>>>
>>> импортировать zip-файл >>> с zipfile.ZipFile("sample_file_pwd.zip", mode="r") в качестве архива: ... для строки в archive.read("hello.txt", pwd=b"secret1").split(b"\n"): ... печать (строка) ... b'Здравствуйте, Pythonista!' б'' b'Добро пожаловать в настоящий Python!' б'' b"Готов попробовать модуль Python zipfile?" б'' >>> с zipfile. ZipFile("sample_file_pwd.zip", mode="r") в качестве архива: ... для строки в archive.read("lorem.md", pwd=b"secret2").split(b"\n"): ... печать (строка) ... b'# Лорем Ипсум' б'' b'Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...
В этом примере вы используете secret1
в качестве пароля для чтения hello.txt
и secret2
для чтения lorem.md
. Последняя деталь, которую следует учитывать, заключается в том, что когда вы используете аргумент pwd
, вы переопределяете любой пароль уровня архива, который вы могли установить с помощью .setpassword()
.
Примечание. Вызов .read()
для ZIP-файла, в котором используется неподдерживаемый метод сжатия, вызывает ошибку NotImplementedError 9.0726 . Вы также получаете сообщение об ошибке, если требуемый модуль сжатия недоступен в вашей установке Python.
Если вы ищете более гибкий способ чтения из файлов-членов, а также создания и добавления новых файлов-членов в архив, то ZipFile. open()
для вас. Подобно встроенной функции open() , этот метод реализует протокол диспетчера контекста и, следовательно, поддерживает оператор
with
:
>>>
>>> импортировать zip-файл >>> с zipfile.ZipFile("sample.zip", mode="r") в качестве архива: ... с archive.open("hello.txt", mode="r") в качестве приветствия: ... для строки приветствия: ... печать (строка) ... b'Привет, питониста!\n' б'\п' b'Добро пожаловать в настоящий Python!\n' б'\п' b"Готовы попробовать модуль Python zipfile?\n"
В этом примере вы открываете hello.txt
для чтения. Первым аргументом .open()
является имя
, указывающее файл участника, который вы хотите открыть. Второй аргумент - это режим, который по умолчанию равен "r"
, как обычно. ZipFile.open()
также принимает аргумент pwd
для открытия зашифрованных файлов. Этот аргумент работает так же, как эквивалентный аргумент pwd
в . read()
.
Вы также можете использовать .open()
с режимом "w"
. Этот режим позволяет вам создать новый файл-член, записать в него содержимое и, наконец, добавить файл в базовый архив, который вы должны открыть в режиме добавления:
>>>
>>> импортировать zip-файл >>> с zipfile.ZipFile("sample.zip", mode="a") в качестве архива: ... с archive.open("new_hello.txt", "w") как new_hello: ... new_hello.write(b"Привет, мир!") ... 13 >>> с zipfile.ZipFile("sample.zip", mode="r") в качестве архива: ... архив.printdir() ... Распечатать("------") ... архив.читать("new_hello.txt") ... Имя файла Измененный размер привет.txt 2021-09-07 19:50:10 83 лорем.мд 2021-09-07 19:50:10 2609 realpython.md 2021-09-07 19:50:10 428 new_hello.txt 1980-01-01 00:00:00 13 ------ б'Привет, мир!'
В первом фрагменте кода вы открываете sample.zip
в режиме добавления ( "a"
). Затем вы создаете new_hello. txt
, вызывая .open()
с режимом "w"
. Эта функция возвращает файлоподобный объект, который поддерживает .write()
, что позволяет записывать байты во вновь созданный файл.
Примечание: Вам необходимо указать несуществующее имя файла для .open()
. Если вы используете имя файла, которое уже существует в базовом архиве, вы получите дублированный файл и исключение UserWarning
.
В этом примере вы пишете b'Hello, World!'
в new_hello.txt
. Когда поток выполнения выходит из внутреннего оператора с
, Python записывает входные байты в файл-член. Когда внешний с
операторами выхода, Python записывает new_hello.txt
в базовый ZIP-файл, sample.zip
.
Второй фрагмент кода подтверждает, что new_hello.txt
теперь является частью файла sample.zip
. Деталь, которую следует отметить в выводе этого примера, заключается в том, что . write()
устанавливает дату Modified
вновь добавленного файла на 1980-01-01 00:00:00
, что является странным поведением, которое вы следует иметь в виду при использовании этого метода.
Удаление рекламы
Чтение содержимого файлов участников в виде текста
Как вы узнали из предыдущего раздела, вы можете использовать методы .read()
и .write()
для чтения и записи в файлы-члены, не извлекая их из содержащего ZIP-архива. Оба эти метода работают исключительно с байтами.
Однако если у вас есть ZIP-архив, содержащий текстовые файлы, вы можете захотеть прочитать их содержимое как текст, а не как байты. Есть как минимум два способа сделать это. Вы можете использовать:
-
bytes.decode()
-
io.TextIOWrapper
Поскольку ZipFile.read()
возвращает содержимое целевого файла-члена в виде байтов, . decode()
может работать с этими байтами напрямую. Метод .decode()
декодирует объект размером байт
в строку, используя заданный формат кодировки символов.
Вот как вы можете использовать .decode()
для чтения текста из файла hello.txt
в вашем sample.zip
архив:
>>>
>>> импортировать zip-файл >>> с zipfile.ZipFile("sample.zip", mode="r") в качестве архива: ... text = archive.read("hello.txt").decode(encoding="utf-8") ... >>> печатать(текст) Привет, питонист! Добро пожаловать в настоящий Python! Готовы попробовать модуль Python zipfile?
В этом примере вы читаете содержимое hello.txt
в виде байтов. Затем вы вызываете .decode()
для декодирования байтов в строку с использованием UTF-8 в качестве кодировки. Чтобы установить , кодирующий аргумент
, вы используете строку "utf-8"
. Однако вы можете использовать любую другую допустимую кодировку, такую как UTF-16 или cp1252, которая может быть представлена как строки без учета регистра. Обратите внимание, что "utf-8"
является значением по умолчанию аргумента кодирования
для .decode()
.
Важно иметь в виду, что вам нужно заранее знать формат кодировки символов любого файла-члена, который вы хотите обработать с помощью .decode()
. Если вы используете неправильную кодировку символов, ваш код не сможет правильно декодировать базовые байты в текст, и вы можете получить массу неразборчивых символов.
Вторым вариантом чтения текста из файла-члена является использование объекта io.TextIOWrapper
, который обеспечивает буферизованный текстовый поток. На этот раз вам нужно использовать .open()
вместо .read()
. Вот пример использования io.TextIOWrapper
для чтения содержимого файла участника hello.txt
в виде потока текста:
>>>
>>> импорт io >>> импортировать zip-файл >>> с zipfile. ZipFile("sample.zip", mode="r") в качестве архива: ... с archive.open("hello.txt", mode="r") в качестве приветствия: ... для строки в io.TextIOWrapper(hello, encoding="utf-8"): ... печать (строка. полоса ()) ... Привет, питонист! Добро пожаловать в настоящий Python! Готовы попробовать модуль Python zipfile?
Во внутреннем операторе с
в этом примере вы открываете файл участника hello.txt
из архива sample.zip
. Затем вы передаете полученный бинарный файловый объект hello
в качестве аргумента io.TextIOWrapper
. Это создает буферизованный текстовый поток путем декодирования содержимого hello
с использованием формата кодировки символов UTF-8. В результате вы получаете поток текста прямо из целевого файла участника.
Как и в случае с .encode()
, класс io.TextIOWrapper
принимает аргумент , кодирующий
. Вы всегда должны указывать значение для этого аргумента, потому что кодировка текста по умолчанию зависит от системы, в которой выполняется код, и может не соответствовать правильному значению для файла, который вы пытаетесь декодировать.
Закрытие ZIP-файлов после использования
Иногда вам удобно открыть данный ZIP-файл без использования оператора с
. В этих случаях вам необходимо вручную закрыть архив после использования, чтобы завершить любые операции записи и освободить полученные ресурсы.
Чтобы сделать это, вы можете вызвать .close()
в вашем объекте ZipFile
:
>>>
>>> импортировать zip-файл >>> архив = zipfile.ZipFile("sample.zip", mode="r") >>> # Используйте архив в разных частях вашего кода >>> архив.printdir() Имя файла Измененный размер привет.txt 2021-09-07 19:50:10 83 лорем.мд 2021-09-07 19:50:10 2609 realpython.md 2021-09-07 19:50:10 428 new_hello.txt 1980-01-01 00:00:00 13 >>> # Закройте архив, когда закончите >>> архив.close() >>> архив
Вызов .close()
закрывает для вас архив
. Вы должны вызвать .close()
перед выходом из вашей программы. В противном случае некоторые операции записи могут не выполняться. Например, если вы открываете ZIP-файл для добавления ( "a"
) файлы новых участников, то нужно закрыть архив для записи файлов.
Изучение дополнительных классов из zip-файла
До сих пор вы узнали о ZipFile
и ZipInfo
, которые являются двумя классами, доступными в zipfile
. Этот модуль также предоставляет еще два класса, которые могут быть полезны в некоторых ситуациях. Это классы zipfile.Path
и zipfile.PyZipFile
. В следующих двух разделах вы познакомитесь с основами этих классов и их основными функциями.
Поиск
пути
в ZIP-файлеКогда вы открываете ZIP-файл в своем любимом архиваторе, вы видите внутреннюю структуру архива. У вас могут быть файлы в корне архива. У вас также могут быть подкаталоги с большим количеством файлов. Архив выглядит как обычный каталог в вашей файловой системе, где каждый файл расположен по определенному пути.
Класс zipfile.Path
позволяет создавать объекты путей для быстрого создания и управления путями к файлам-членам и каталогам внутри данного ZIP-файла. Класс принимает два аргумента:
-
root
принимает ZIP-файл либо в виде объектаZipFile
, либо в виде строкового пути к физическому ZIP-файлу. -
по адресу
содержит расположение определенного файла-члена или каталога внутри архива. По умолчанию это пустая строка, представляющая корень архива.
С вашим старым другом sample.zip
в качестве цели запустите следующий код:
>>>
>>> импортировать zip-файл >>> hello_txt = zipfile.Path("sample.zip", "hello.txt") >>> привет_txt Путь('sample.zip', 'hello.txt') >>> hello_txt.имя 'привет.txt' >>> hello_txt.is_file() Истинный >>> hello_txt.exists() Истинный >>> печать (hello_txt.read_text()) Привет, питонист! Добро пожаловать в настоящий Python! Готовы попробовать модуль Python zipfile?
Этот код показывает, что zipfile. Path
реализует несколько функций, общих для объекта pathlib.Path
. Вы можете получить имя файла с .name
. Вы можете проверить, указывает ли путь на обычный файл с помощью .is_file()
. Вы можете проверить, существует ли данный файл внутри определенного ZIP-файла, и многое другое.
Путь
также предоставляет метод .open()
для открытия файла элемента с использованием различных режимов. Например, код ниже открывает hello.txt
для чтения:
>>>
>>> импортировать zip-файл >>> hello_txt = zipfile.Path("sample.zip", "hello.txt") >>> с hello_txt.open(mode="r") в качестве приветствия: ... для строки приветствия: ... печать (строка) ... Привет, питонист! Добро пожаловать в настоящий Python! Готовы попробовать модуль Python zipfile?
С помощью Path
вы можете быстро создать объект пути, указывающий на определенный файл-член в данном ZIP-файле, и сразу же получить доступ к его содержимому, используя . открыть()
.
Как и в случае с объектом pathlib.Path
, вы можете получить список содержимого ZIP-файла, вызвав .itrdir()
для объекта zipfile.Path
:
>>>
>>> импортировать zip-файл >>> root = zipfile.Path("sample.zip") >>> корень Путь('sample.zip', '') >>> root.is_dir() Истинный >>> список(root.iterdir()) [ Путь('sample.zip', 'hello.txt'), Путь('sample.zip', 'lorem.md'), Путь('sample.zip', 'realpython.md') ]
Понятно, что zipfile.Path
предоставляет множество полезных функций, которые вы можете использовать для управления файлами-членами в ваших ZIP-архивах практически мгновенно.
Удаление рекламы
Создание импортируемых ZIP-файлов с помощью
PyZipFile
Другим полезным классом в zipfile
является PyZipFile
. Этот класс очень похож на ZipFile
, и он особенно удобен, когда вам нужно собрать модули и пакеты Python в ZIP-файлы. Основное отличие от ZipFile
заключается в том, что инициализатор PyZipFile
принимает необязательный аргумент с именем optimise
, который позволяет оптимизировать код Python, скомпилировав его в байт-код перед архивированием.
PyZipFile
предоставляет тот же интерфейс, что и ZipFile
, с добавлением .writepy()
. Этот метод может принимать файл Python ( .py
) в качестве аргумента и добавлять его в базовый ZIP-файл. Если оптимизировать,
будет -1
(по умолчанию), то файл .py
автоматически компилируется в файл .pyc
, а затем добавляется в целевой архив. Почему это происходит?
Начиная с версии 2.3, интерпретатор Python поддерживает импорт кода Python из ZIP-файлов, возможность, известную как импорт Zip. Эта функция достаточно удобна. Это позволяет вам создавать импортируемых ZIP-файлов для распространения ваших модулей и пакетов в виде единого архива.
Примечание: Вы также можете использовать формат файла ZIP для создания и распространения исполняемых приложений Python, которые широко известны как приложения Python Zip. Чтобы узнать, как их создавать, ознакомьтесь с zipapp Python: Build Executable Zip Applications.
PyZipFile
полезен, когда вам нужно создать импортируемые ZIP-файлы. Упаковка файла .pyc
вместо файла .py
делает процесс импорта более эффективным, поскольку он пропускает этап компиляции.
Внутри каталога python-zipfile/
у вас есть модуль hello.py
со следующим содержимым:
"""Распечатать сообщение-приветствие.""" # привет.py приветствовать (имя = "Мир"): print(f"Привет, {имя}! Добро пожаловать в настоящий Python!")
Этот код определяет функцию с именем greet()
, которая принимает имя
в качестве аргумента и выводит приветственное сообщение на экран. Теперь предположим, что вы хотите упаковать этот модуль в ZIP-файл для распространения. Для этого вы можете запустить следующий код:
>>>
>>> импортировать zip-файл >>> с zipfile.PyZipFile("hello.zip", mode="w") как zip_module: ... zip_module.writepy("hello.py") ... >>> с zipfile.PyZipFile("hello.zip", mode="r") как zip_module: ... zip_module.printdir() ... Имя файла Измененный размер привет.pyc 2021-09-13 13:25:56 311
В этом примере вызов .writepy()
автоматически компилирует hello.py
в hello.pyc
и сохраняет его в hello.zip
. Это становится ясно, когда вы перечисляете содержимое архива, используя .printdir()
.
После того, как hello.py
будет упакован в ZIP-файл, вы можете использовать систему импорта Python для импорта этого модуля из содержащего его архива:
>>>
>>> импорт системы >>> # Вставляем архив в sys. path >>> sys.path.insert(0, "/home/user/python-zipfile/hello.zip") >>> sys.path[0] '/home/user/python-zipfile/hello.zip' >>> # Импортируйте и используйте код >>> Импорт привет >>> hello.greet("Питонист") Привет, питонист! Добро пожаловать в настоящий Python!
Первый шаг для импорта кода из ZIP-файла — сделать этот файл доступным в sys.path
. Эта переменная содержит список строк, указывающих путь поиска Python для модулей. Чтобы добавить новый элемент в sys.path
, вы можете использовать .insert()
.
Чтобы этот пример работал, вам нужно изменить путь-заполнитель и указать путь к hello.zip
в вашей файловой системе. Как только ваш импортируемый ZIP-файл появится в этом списке, вы сможете импортировать свой код так же, как и с обычным модулем.
Наконец, обратите внимание на подкаталог hello/
в вашей рабочей папке. Он содержит небольшой пакет Python со следующей структурой:
привет/ | ├── __init__.py └── hello.py
Модуль __init__.py
превращает каталог hello/
в пакет Python. Модуль hello.py
— это тот же модуль, который вы использовали в приведенном выше примере. Теперь предположим, что вы хотите собрать этот пакет в ZIP-файл. Если это так, то вы можете сделать следующее:
>>>
>>> импортировать zip-файл >>> с zipfile.PyZipFile("hello.zip", mode="w") как zip_pkg: ... zip_pkg.writepy("привет") ... >>> с zipfile.PyZipFile("hello.zip", mode="r") как zip_pkg: ... zip_pkg.printdir() ... Имя файла Измененный размер привет/__init__.pyc 2021-09-13 13:39:30 108 привет/привет.pyc 2021-09-13 13:39:30 317
Вызов .writepy()
принимает пакет hello
в качестве аргумента, ищет внутри него файлы .py
, компилирует их в файлы .pyc
и, наконец, добавляет их в целевой ZIP-файл, привет.zip
. Опять же, вы можете импортировать свой код из этого архива, выполнив шаги, которые вы узнали ранее:
>>>
>>> импорт системы >>> sys.path.insert(0, "/home/user/python-zipfile/hello.zip") >>> из привет импортировать привет >>> hello.greet("Питонист") Привет, питонист! Добро пожаловать в настоящий Python!
Поскольку ваш код теперь находится в пакете, вам сначала нужно импортировать модуль hello
из пакета hello
. Затем вы можете получить доступ к своей функции greet()
в обычном режиме.
Удалить рекламу
Запуск
zip-файла
Из командной строки Zip-файл Python
также предлагает минимальный интерфейс командной строки, который позволяет вам быстро получить доступ к основным функциям модуля. Например, вы можете использовать -l
или --list
опция для отображения содержимого существующего ZIP-файла:
$ python -m zipfile --list sample. zip Имя файла Измененный размер привет.txt 2021-09-07 19:50:10 83 лорем.мд 2021-09-07 19:50:10 2609 realpython.md 2021-09-07 19:50:10 428 new_hello.txt 1980-01-01 00:00:00 13
Эта команда показывает те же выходные данные, что и эквивалентный вызов .printdir()
в архиве sample.zip
.
Предположим, вы хотите создать новый ZIP-файл, содержащий несколько входных файлов. В этом случае вы можете использовать опцию -c
или --create
:
$ python -m zipfile --create new_sample.zip hello.txt lorem.md realpython.md $ python -m zipfile -l новый_образец.zip Имя файла Измененный размер привет.txt 2021-09-07 19:50:10 83 лорем.мд 2021-09-07 19:50:10 2609 realpython.md 2021-09-07 19:50:10 428
Эта команда создает файл new_sample.zip
, содержащий ваши файлы hello.txt
, lorem.md
, realpython.md
.
Что делать, если вам нужно создать ZIP-файл для архивирования всего каталога? Например, у вас может быть собственный source_dir/
с теми же тремя файлами, что и в примере выше. Вы можете создать ZIP-файл из этого каталога с помощью следующей команды:
$ python -m zipfile -c исходный_каталог.zip исходный_каталог/ $ python -m zipfile -l исходный_каталог.zip Имя файла Измененный размер source_dir/ 2021-08-31 08:55:58 0 source_dir/hello.txt 2021-08-31 08:55:58 83 source_dir/lorem.md 2021-08-31 09:01:08 2609 source_dir/realpython.md 2021-08-31 09:31:22 428
С помощью этой команды zipfile
помещает source_dir/
в корень результирующего файла source_dir.zip
. Как обычно, вы можете просмотреть содержимое архива, запустив zipfile
с параметром -l
.
Примечание: Когда вы используете zipfile
для создания архива из командной строки, библиотека неявно использует алгоритм сжатия Deflate при архивировании ваших файлов.
Вы также можете извлечь все содержимое данного ZIP-файла, используя -e
или --извлечь параметр
из командной строки:
$ python -m zipfile --extract sample. zip пример/
После выполнения этой команды у вас появится новая папка sample/
в вашем рабочем каталоге. Новая папка будет содержать текущие файлы из архива sample.zip
.
Последняя опция, которую вы можете использовать с zipfile
из командной строки, это -t
или --test
. Эта опция позволяет вам проверить, является ли данный файл допустимым ZIP-файлом. Давай, попробуй!
Использование других библиотек для управления ZIP-файлами
В стандартной библиотеке Python есть несколько других инструментов, которые можно использовать для архивации, сжатия и распаковки файлов на более низком уровне. Zip-файл Python
использует некоторые из них внутри, в основном для целей сжатия. Вот краткое описание некоторых из этих инструментов:
Модуль | Описание |
---|---|
Злиб | Разрешает сжатие и распаковку с помощью библиотеки zlib |
бз2 | Предоставляет интерфейс для сжатия и распаковки данных с использованием алгоритма сжатия Bzip2 |
лзма | Предоставляет классы и функции для сжатия и распаковки данных с использованием алгоритма сжатия LZMA |
В отличие от zipfile
, некоторые из этих модулей позволяют сжимать и распаковывать данные из памяти и потоки данных, отличные от обычных файлов и архивов.
В стандартной библиотеке Python вы также найдете tar-файл
, который поддерживает формат архивации TAR. Существует также модуль под названием gzip
, который предоставляет интерфейс для сжатия и распаковки данных, подобно тому, как это делает программа GNU Gzip.
Например, вы можете использовать gzip
для создания сжатого файла, содержащего текст:
>>>
>>> импортировать gzip >>> с gzip.open("hello.txt.gz", mode="wt") как gz_file: ... gz_file.write("Привет, мир!") ... 13
После запуска этого кода у вас будет архив hello.txt.gz
, содержащий сжатую версию hello.txt
в вашем текущем каталоге. Внутри hello.txt
вы найдете текст Hello, World!
.
Быстрый и высокоуровневый способ создания ZIP-файла без использования zipfile
— использовать Shutil
. Этот модуль позволяет выполнять несколько операций высокого уровня над файлами и коллекциями файлов. Когда дело доходит до операций архивирования, у вас есть make_archive()
, который может создавать архивы, такие как файлы ZIP или TAR:
>>>
>>> импортный шутил >>> Shutil.make_archive("shutil_sample", format="zip", root_dir="source_dir/") '/home/user/sample.zip'
Этот код создает сжатый файл с именем sample.zip
в вашем рабочем каталоге. Этот ZIP-файл будет содержать все файлы во входном каталоге source_dir/
. Функция make_archive() удобна, когда вам нужен быстрый и высокоуровневый способ создания ZIP-файлов в Python.
Удалить рекламу
Заключение
ZIP-файл Python
— это удобный инструмент, когда вам нужно читать, записывать, сжимать, распаковывать и извлекать файлы из ZIP-архивов . Формат файла ZIP стал отраслевым стандартом, позволяя упаковывать и при необходимости сжимать цифровые данные.
Преимущества использования ZIP-файлов включают совместное архивирование связанных файлов, экономию места на диске, упрощение передачи данных по компьютерным сетям, объединение кода Python для целей распространения и многое другое.
В этом уроке вы узнали, как:
- Использовать ZIP-файл Python
- Чтение метаданных о содержимом ваших ZIP-файлов с помощью
zipfile
- Использовать
zip-файл
– управлять файлами-участниками в существующих ZIP-файлах - Создайте свои собственные ZIP-файлы для архивирования и сжатия цифровых данных
Вы также узнали, как использовать zipfile
из командной строки для просмотра, создания и извлечения ZIP-файлов. Обладая этими знаниями, вы готовы эффективно архивировать, сжимать и обрабатывать свои цифровые данные, используя формат файла ZIP.
распространенных расширений файлов Windows | Служба технической поддержки
Имена файлов Windows состоят из двух частей; имя файла, затем точка, за которой следует расширение (суффикс). Расширение представляет собой трех- или четырехбуквенную аббревиатуру, обозначающую тип файла. Например, в буква.docx имя файла буква и расширение docx . Расширения важны, потому что они сообщают вашему компьютеру, какой значок использовать для файла и какое приложение может открыть файл. Например, расширение doc сообщает вашему компьютеру, что файл является файлом Microsoft Word.
Если вы хотите открыть файл MAC OS X в Windows, вам может потребоваться добавить расширение к имени файла MAC OS X, чтобы Windows могла его распознать. Например, если у вас есть документ Word 6 для MAC OS X с именем письмо , которое вы хотите открыть в Windows, вам нужно переименовать файл письмо. docx , чтобы Word в Windows распознал и открыл файл.
Список расширений файлов
Отображение расширений файлов
Поиск расширений файлов
Примечание: Этот список ни в коем случае не является полным и исчерпывающим списком расширений файлов. Если расширение файла, которое вы используете, отсутствует в списке ниже, вы можете найти информацию в руководстве по программному обеспечению или на веб-сайте программного обеспечения.
Примечание: Если ни одно из ваших имен файлов не имеет расширений, расширения файлов скрыты. См. Отображение расширений файлов
Расширение файла | Тип файла |
---|---|
.AIFF или .AIF | Формат файла обмена аудио |
.AU | Базовое аудио |
.AVI | Мультимедиа Аудио/Видео |
.БАТ | Пакетный файл ПК |
.BMP | Битовая карта Windows |
. КЛАСС или .JAVA | Java-файлы |
.CSV | Файл переменной длины, разделенный запятыми (открыть в Excel) |
.CVS | Холст |
.ДБФ | базы данных II, III, IV |
.ДИФ | Формат обмена данными |
.DOC или .DOCX | Microsoft Word для Windows/Word97 |
.EPS | Инкапсулированный PostScript |
.EXE | Приложение для ПК |
.FM3 | Базы данных Filemaker Pro (следующие цифры обозначают номер версии) |
.GIF | Формат обмена графикой |
.HQX | Макинтош BinHex |
.HTM или .HTML | Исходный текст веб-страницы |
.JPG или JPEG | Графика в формате JPEG |
.MAC | MacPaint |
.КАРТА | карта изображений веб-страницы |
. MDB | База данных MS Access |
.MID или .MIDI | Звук MIDI |
.MOV или .QT | Аудио/Видео QuickTime |
.MTB или .MTW | Мини-таблица |
Acrobat — переносимый формат документа | |
.P65 .T65 | PageMaker (следующие цифры обозначают номер версии) P=публикация, T=шаблон |
.PNG | Портативная сетевая графика |
.PPT или .PPTX | PowerPoint |
.PSD | Adobe PhotoShop |
.ПСП | PaintShop Pro |
.QXD | QuarkXPress |
.RA | РеалАудио |
.RTF | Расширенный текстовый формат |
.СИТ | Сжатый архив Stuffit |
.ТАР | Сжатый архив UNIX TAR |
.TIF | TIFF-графика |
. TXT | Текст ASCII (текст Mac не содержит переводов строк — для исправления используйте утилиту DOS Washer Utility) |
.WAV | Звук Windows |
.WK3 | Lotus 1-2-3 (следующие цифры представляют номер версии) |
.ВКС | MS Works |
WPD или .WP5 | WordPerfect (следующие цифры обозначают номер версии) |
.XLS или .XLSX | Электронная таблица Excel |
.ZIP | Сжатый Zip-архив ПК |
Отображение расширений файлов
Если ни одно из ваших имен файлов не имеет расширений, расширения файлов скрыты. Чтобы показать расширения файлов:
1. В проводнике перейдите на вкладку «Вид» и установите флажок рядом с «Расширения имен файлов».
Вы также можете следовать этим инструкциям, которые будут работать для более старых версий Windows.
1. Нажмите на меню «Пуск» и введите «Показать скрытые файлы и папки», , затем нажмите клавишу ввода или выберите этот вариант из списка результатов.
2. В » View» снимите флажок с параметра «Скрывать расширения для известных типов файлов».
3. Нажмите «Применить» , затем « OK» .
Поиск расширений файлов
Иногда может потребоваться выполнить поиск всех файлов определенного типа. Например, вы можете найти файл .pst или файл .mp3 на своем компьютере. Выполните следующие действия, чтобы найти расширение файла.
1. Щелкните меню «Пуск» или строку поиска и введите 9.0026 «*» , затем расширение файла, который вы хотите найти (например, *.jpg), и нажмите клавишу «Enter» .
2. Теперь Windows будет искать файлы, оканчивающиеся на указанное расширение.
Форматы файлов — справочный центр интернет -архива
Расширение | MediaType | Определение | ||
файлы. книга; также дает 2 контрольные суммы и определение формата для каждого файла; предоставляет единственный механизм для проверки того, что данные компонента были успешно загружены | ||||
.sfv | все | Простая проверка файлов (SFV) — это формат файлов для хранения контрольных сумм файлов CRC32 для проверки целостности файлов. SFV используется для проверки того, что файл не был поврежден, но никак иначе не проверяет подлинность файла. https://en.wikipedia.org/wiki/Simple_file_verification | ||
meta.xml | all | Внутренние «управленческие» метаданные Интернет-архива; собственный XML-формат, этот файл содержит информацию о событии сканирования (дата, количество страниц, оператор, станция и т. д.), участнике, основных данных стартового номера (название, автор, тема, язык) и набор идентификаторов | ||
. wma | аудио | Windows Media Audio (WMA) — это серия аудиокодеков и соответствующих им форматов кодирования звука, разработанных Microsoft. https://en.wikipedia.org/wiki/Windows_Media_Audio | ||
.wav | audio | Формат аудиофайла Waveform (WAV) — это стандарт формата аудиофайла для хранения битового аудиопотока. https://en.wikipedia.org/wiki/WAV | ||
.ogg | аудио | Vorbis — это бесплатный программный проект с открытым исходным кодом. В рамках проекта создается формат кодирования звука и эталонный программный кодер/декодер (кодек) для сжатия звука с потерями. Vorbis чаще всего используется в сочетании с форматом контейнера Ogg, поэтому его часто называют Ogg Vorbis. https://en.wikipedia.org/wiki/Ворбис | ||
.mp3 | аудио | VBR (переменный битрейт) MP3 — это формат кодирования цифрового аудио https://en.wikipedia.org/wiki/MP3 | ||
.m3u | аудио ( Переменный битрейт) M3U — это компьютерный формат файла для мультимедийного списка воспроизведения. Одним из распространенных способов использования формата файла M3U является создание файла списка воспроизведения с одной записью, указывающего на поток в Интернете. Созданный файл обеспечивает легкий доступ к этому потоку и часто используется для загрузки с веб-сайта, для отправки по электронной почте и для прослушивания интернет-радио. https://en.wikipedia.org/wiki/M3U | |||
.shn | аудио | Сокращение (SHN) — это формат файла, используемый для сжатия аудиоданных. Это форма сжатия данных файлов, которая используется для сжатия аудиофайлов с качеством компакт-диска без потерь. https://en.wikipedia.org/wiki/Shorten_(codec) | ||
.mp3 | audio | MP3 — это формат кодирования цифрового аудио https://en.wikipedia.org/wiki/MP3 | ||
.m3u | аудио | M3U — это компьютерный формат файла для мультимедийного списка воспроизведения. Одним из распространенных способов использования формата файла M3U является создание файла списка воспроизведения с одной записью, указывающего на поток в Интернете. Созданный файл обеспечивает легкий доступ к этому потоку и часто используется для загрузки с веб-сайта, для отправки по электронной почте и для прослушивания интернет-радио. https://en.wikipedia.org/wiki/M3U | ||
sample.mp3 | audio | Аудиофайл MP3 ограниченной длины, полученный из исходного аудиофайла. Обычно 30 секунд. | ||
.flac | аудио | FLAC — это формат кодирования звука для сжатия цифрового звука без потерь, разработанный Xiph.Org Foundation, а также название проекта бесплатного программного обеспечения, создающего инструменты FLAC, справочное программное обеспечение. пакет, включающий реализацию кодека. https://en.wikipedia.org/wiki/FLAC | ||
.aiff | audio | Audio Interchange File Format (AIFF) — это стандарт формата аудиофайлов, используемый для хранения звуковых данных для персональных компьютеров и других электронных аудиоустройств. https://en.wikipedia.org/wiki/Audio_Interchange_File_Format | ||
. m4a | audio | Advanced Audio Coding (AAC) — это стандарт кодирования звука для сжатия цифрового звука с потерями. Разработанный как преемник формата MP3, AAC обычно обеспечивает более высокое качество звука, чем кодировщики MP3 при той же скорости передачи данных. https://en.wikipedia.org/wiki/Advanced_Audio_Coding | ||
spectrogram.png | аудио | Визуальное представление спектра частот сигнала, изменяющегося во времени. | ||
.afpk | аудио | «аудиофингерпринтинг» для возможности сравнения аудиодорожек вместе для «одинаковых» треков или их частей звуковые дорожки вместе для «одинаковых» дорожек или их частей | ||
esshigh.json.gz | аудио | исторический аудиоформат, который пытался провести анализ, например количество ударов в минуту, выводы о «жанре» музыки и т. д. | ||
esslow.json.gz | 8 audio | исторический аудиоформат, который пытался выполнить анализ, например количество ударов в минуту, выводы о «жанре» музыки и т. д. сообщество | ||
.zip | данные | ZIP — это формат файла архива, который поддерживает сжатие данных без потерь. ZIP-файл может содержать один или несколько файлов или каталогов, которые могли быть сжаты. https://en.wikipedia.org/wiki/ZIP_(file_format) | ||
.rtf | data | Rich Text Format (часто сокращенно RTF) — это частный формат файла документа. Большинство текстовых процессоров могут читать и записывать некоторые версии RTF. https://en.wikipedia.org/wiki/Rich_Text_Format | ||
.odt | данные | Открытый формат документов для офисных приложений (ODF), также известный как OpenDocument, представляет собой открытый стандартный формат файлов для электронных таблиц, диаграмм, презентаций и текстовых документов с использованием ZIP-сжатых XML-файлов https ://en.wikipedia.org/wiki/OpenDocument | ||
.html | данные | Язык гипертекстовой разметки или HTML — это стандартный язык разметки для документов, предназначенных для отображения в веб-браузере. В этом могут помочь такие технологии, как каскадные таблицы стилей (CSS) и языки сценариев, такие как JavaScript. https://en.wikipedia.org/wiki/HTML | ||
.swf | данные | SWF — это формат файла Adobe Flash, используемый для мультимедиа и векторной графики. Файлы SWF могут содержать анимацию или апплеты различной степени интерактивности и функциональности. Они также могут возникать в программах, обычно в браузерных играх, использующих ActionScript. https://en.wikipedia.org/wiki/SWF | ||
.rar | данные | RAR — это собственный формат файла архива, который поддерживает сжатие данных, восстановление после ошибок и объединение файлов. https://en.wikipedia.org/wiki/RAR_(формат_файла) | ||
.otf | данные | OpenType — формат масштабируемых компьютерных шрифтов. который описывает протокол связи, цифровой интерфейс и электрические разъемы, которые соединяют широкий спектр электронных музыкальных инструментов, компьютеров и связанных с ними аудиоустройств для воспроизведения, редактирования и записи музыки. https://en.wikipedia.org/wiki/MIDI | ||
.doc | данные | Microsoft Word — это программа для обработки текстов, разработанная Microsoft. https://en.wikipedia.org/wiki/Microsoft_Word | ||
.ppt | данные | Microsoft PowerPoint — программа для презентаций. Первоначально PowerPoint был разработан для предоставления визуальных материалов для групповых презентаций в бизнес-организациях, но стал очень широко использоваться во многих других коммуникативных ситуациях, как в бизнесе, так и за его пределами. https://en.wikipedia.org/wiki/Microsoft_PowerPoint | ||
.xls | данные | Microsoft Excel — это электронная таблица, разработанная Microsoft. https://en.wikipedia.org/wiki/Microsoft_Excel | ||
.json | data | JSON — это открытый стандартный формат файла и формат обмена данными, который использует удобочитаемый текст для хранения и передачи объектов данных, состоящих из атрибутов пары значений и массивы (или другие сериализуемые значения). https://en.wikipedia.org/wiki/JSON | ||
.tar | data | В вычислительной технике tar — это компьютерная утилита для сбора множества файлов в один архивный файл, часто называемый tarball, для целей распространения или резервного копирования. https://en.wikipedia.org/wiki/Tar_(computing) | ||
.txt | data | В вычислительной технике обычный текст — это общий термин для данных (например, содержимого файла), которые представляют собой только символы читаемого материала. но не его графическое представление или другие объекты (числа с плавающей запятой, изображения и т. д.). https://en.wikipedia.org/wiki/Обычный_текст | ||
.gz | данные | gzip — это формат файла и программное приложение, используемое для сжатия и распаковки файлов. https://en.wikipedia.org/wiki/Gzip | ||
.flv | data | Flash Video — это формат файла-контейнера, используемый для доставки цифрового видеоконтента (например, телешоу, фильмов и т. д.) по Интернет с помощью Adobe Flash Player версии 6 и выше. https://en.wikipedia.org/wiki/Flash_Video | ||
.css | data | Каскадные таблицы стилей (CSS) — это язык таблиц стилей, используемый для описания представления документа, написанного на языке разметки, таком как HTML. https://en.wikipedia.org/wiki/CSS | ||
.iso | data | Образ оптического диска (или образ ISO из файловой системы ISO 9660, используемой на носителях CD-ROM) — это образ диска. который содержит все, что будет записано на оптический диск, сектор за сектором диска, включая файловую систему оптического диска. https://en.wikipedia.org/wiki/Optical_disc_image | ||
.ai | data | Adobe Illustrator Artwork (AI) — это собственный формат файлов, разработанный Adobe Systems для представления одностраничных векторных рисунков в форматах EPS или PDF. Расширение имени файла .ai используется Adobe Illustrator. https://en.wikipedia. org/wiki/Adobe_Illustrator_Artwork | ||
.tsv | data | Файл значений, разделенных табуляцией (TSV), представляет собой простой текстовый формат для хранения данных в табличной структуре, например, в базе данных. данные таблицы или электронной таблицы, а также способ обмена информацией между базами данных. https://en.wikipedia.org/wiki/Tab-separated_values | ||
.7z | data | 7z — это формат сжатого архивного файла, который поддерживает несколько различных алгоритмов сжатия, шифрования и предварительной обработки данных. https://en.wikipedia.org/wiki/7z | ||
.exe | data | .exe — распространенное расширение имени файла, обозначающее исполняемый файл (основную точку выполнения компьютерной программы) для Microsoft Windows. https://en.wikipedia.org/wiki/.exe | ||
.gif | изображение | Graphics Interchange Format — это формат растрового изображения, разработанный группой поставщика онлайн-услуг CompuServe. https://en.wikipedia.org/wiki/GIF | ||
.tiff | image | Формат файла изображения тега, сокращенно TIFF или TIF, представляет собой формат файла изображения для хранения растровых графических изображений, популярный среди художников-графиков, издательская индустрия и фотографы. https://en.wikipedia.org/wiki/TIFF | ||
.png | изображение | Portable Network Graphics — это формат файла растровой графики, поддерживающий сжатие данных без потерь. https://en.wikipedia.org/wiki/Portable_Network_Graphics | ||
.jpg | image | JPEG — широко используемый метод сжатия с потерями для цифровых изображений, особенно для изображений, созданных цифровой фотографией. https://en.wikipedia.org/wiki/JPEG | ||
.jp2 | image | JPEG 2000 (JP2) — это стандарт сжатия изображений и система кодирования. https://en.wikipedia.org/wiki/JPEG_2000 | ||
.vtt | фильмы | WebVTT (текстовые дорожки веб-видео) — это стандарт W3C для отображения синхронизированного текста в сочетании с элементом HTML5 | ||
.webm | фильмы | WebM — это формат аудиовизуальных мультимедийных файлов, который в первую очередь предназначен для предоставления бесплатной альтернативы использованию в видео HTML5 и аудиоэлементах HTML5. org/wiki/WebM | ||
.ogv | фильмы | Theora — это бесплатный формат сжатия видео с потерями. Чаще всего он используется в сочетании с форматом контейнера Ogg. https://en.wikipedia.org/wiki/Theora | ||
.md5 | фильмы | Алгоритм дайджеста сообщения MD5 представляет собой криптографически взломанную, но все еще широко используемую хеш-функцию, производящую 128-битное хэш-значение. https://en.wikipedia.org/wiki/MD5 | ||
.mkv | фильмов | Контейнер Matroska Multimedia — это бесплатный и открытый формат контейнера, формат файла, который может содержать неограниченное количество видео, аудио, изображения или дорожки субтитров в одном файле. https://en.wikipedia.org/wiki/Матроска | ||
.m4v | фильмы | Формат файла M4V — это формат видеоконтейнера, разработанный Apple и очень похожий на формат MP4. Основное отличие состоит в том, что файлы M4V могут быть дополнительно защищены защитой от копирования DRM. https://en.wikipedia.org/wiki/M4V | ||
.mov | фильмы | QuickTime — это формат видео, который особенно подходит для редактирования, поскольку он позволяет импортировать и редактировать на месте (без копирования данных). ). https://en.wikipedia.org/wiki/QuickTime_File_Format | ||
.mpeg4 | фильмы | MPEG-4 — это метод определения сжатия визуальных (AV) цифровых данных. https://en.wikipedia.org/wiki/MPEG-4 | ||
.mpeg | фильмы | MPEG-2 — это стандарт «общего кодирования движущихся изображений и связанной с ними аудиоинформации». https://en.wikipedia.org/wiki/MPEG-2 | ||
.mpg | фильмы | MPEG-2 — это стандарт «общего кодирования движущихся изображений и связанной с ними аудиоинформации». https://en.wikipedia.org/wiki/MPEG-2 | ||
512kb.mp4 | фильмов | Видеофайл низкого разрешения MPEG4 | ||
thumb.jpg | фильмов | Изображения видео, снятые примерно каждые 30 секунд. Они используются в скруббере плеера | ||
ia.mp4 | фильмов | Производный файл h.264, предназначенный для создания удобной для Интернета версии загруженного исходного mp4, который не соответствует минимальным критериям для оптимального использования в онлайн-медиаплеере. . | ||
CC5.TXT | Фильмы | Закрытые подписи текстовый файл, захваченный телевизионными архивами | ||
Выравнивание. .srt | фильмов | Скрытые субтитры в элементах ТВ-архива | ||
.avi | фильмов | Cinepak — видеокодек с потерями, разработанный Питером Барреттом в SuperMac Technologies и выпущенный в 1991 с Video Spigot, а затем в 1992 году как часть видеопакета Apple Computer QuickTime. https://en.wikipedia.org/wiki/Cinepak | ||
asr.js | фильмы | Скрытые титры с автоматическим распознаванием речи. Компьютер генерирует аудиофайлы в формате mp3, которые преобразуются в текстовые файлы. | ||
asr.srt | фильмов | Автоматическое распознавание речи Скрытые титры, отформатированные для запуска вместе с соответствующим видеофайлом. Компьютер генерирует аудиофайлы в формате mp3, которые преобразуются в текстовые файлы. | ||
.mp4 | фильмы | Расширенное кодирование видео (AVC), также называемое H.264 или MPEG-4 Part 10, Advanced Video Coding (MPEG-4 AVC), представляет собой стандарт сжатия видео, основанный на блочном кодировании. ориентированное кодирование с компенсацией движения. https://en.wikipedia.org/wiki/Advanced_Video_Coding | ||
.wmv | фильмы | Advanced Systems Format (wmv) — это собственный формат цифрового аудио/видеоконтейнера Microsoft, специально предназначенный для потоковой передачи мультимедиа. https://en.wikipedia.org/wiki/Advanced_Systems_Format | ||
h.264 720P | фильмы | 720px1080p файл h.264. Advanced Video Coding (AVC), также называемый H.264 или MPEG-4 Part 10, Advanced Video Coding (MPEG-4 AVC), представляет собой стандарт сжатия видео, основанный на блочно-ориентированном кодировании с компенсацией движения. https://en.wikipedia.org/wiki/Advanced_Video_Coding | ||
h.264 HD | фильмы | 720px1080p файл h.264. Advanced Video Coding (AVC), также называемый H.264 или MPEG-4 Part 10, Advanced Video Coding (MPEG-4 AVC), представляет собой стандарт сжатия видео, основанный на блочно-ориентированном кодировании с компенсацией движения. https://en.wikipedia.org/wiki/Advanced_Video_Coding | ||
.xml | фильмов | Минимальные метаданные ТВ-архива для создания полных метаданных шоу (например, название и описание программы, запланированная продолжительность и т. д.) Редактируемые пользователем аудио/видеофайлы непосредственно в браузере, которые будут воспроизводить произвольные аудио- и видеофайлы, добавлять текстовые наложения, карты и многое другое. файлы изображений | ||
align.json | фильмов | Выравнивание титров (форма звуковой волны по сравнению с титрами) для уменьшения «дрейфа» между тем, что говорится, и тем, что есть в титрах. Они часто могут иметь 2-10-секундное расстояние между отображаемыми словами/заголовками и прослушанным звуком | программное обеспечение | Пакет Android с расширением файла apk — это формат файла, используемый операционной системой Android и рядом других операционных систем на базе Android для распространения и установки мобильных приложений, мобильных игр и промежуточного программного обеспечения. https://en.wikipedia.org/wiki/Apk_(формат_файла) |
screenshot.png | программное обеспечение | Снимок экрана эмулированной компьютерной игры | ||
.dmg | программное обеспечение | Apple Disk Image — это формат образа диска, обычно используемый операционной системой macOS. При открытии образ диска Apple монтируется как том в Finder. https://en.wikipedia.org/wiki/Apple_Disk_Image | ||
.ipa | программное обеспечение | Файл .ipa (пакет App Store для iOS) представляет собой файл архива приложения iOS, в котором хранится приложение iOS. https://en.wikipedia.org/wiki/.ipa | ||
.adf | программное обеспечение | Amiga Disk File (ADF) — это формат файла, используемый компьютерами Amiga и эмуляторами для хранения образов гибких дисков. https://en.wikipedia.org/wiki/Amiga_Disk_File | ||
.scr | software | Экранная заставка — это компьютерная программа, которая закрывает экран дисплея или заполняет его движущимися изображениями или узорами, когда компьютер не используется. на назначенное время. https://en.wikipedia.org/wiki/Заставка | ||
.log | texts | Есть несколько логов от сканирования, переиздания и т.д. Журнал обнаружения тканевого покрытия, различные журналы Republisher, а затем формат журнала плана для журналов Scribe. | ||
тексты | Презентационная версия на БХЛ в формате PDF. Низкое качество; достаточно для печати и чтения текста | |||
review.xml | texts | Файл meta.xml содержит все метаданные на уровне элемента для отзывов | ||
meta.xml | texts | Файл meta.xml содержит все метаданные элемента на уровне элемента (например, название, описание, имя создателя и т. д.). | ||
marc.xml | тексты | данные MARC (библиографическое описание) в формате XML. MARC — это формат библиографических данных, описывающий стандарты представления и передачи библиографической и сопутствующей информации в машиночитаемой форме, а также соответствующую документацию | ||
meta.mrc | texts | двоичная запись MARC, полученная с помощью z39.50. MARC — это формат библиографических данных, описывающий стандарты представления и передачи библиографической и сопутствующей информации в машиночитаемой форме, а также соответствующей документации | ||
orig_jp2. tar | текстов | Некоторые книги настолько велики, что объем изображений превышает максимальный размер ZIP-архива. Для этих книг изображения сжимаются и доставляются с помощью TAR. Эти архивы TAR в среднем имеют размер 2,07 ГБ и встречаются 0,39% времени (738 из 191 568 книг). Высокого качества; Лучше всего подходит для использования и печати пластин, иллюстраций, подробных рисунков и таблиц | ||
.djvu | текстов | Аналогичен PDF, собственному сжатому формату документов. Низкое качество; достаточно для печати и чтения текста | ||
scandata.xml | texts | Scandata — это файл XML, содержащий конкретную информацию об изображении, в том числе информацию о том, должно ли изображение быть включено в какой-либо из создаваемых форматов. Модуль найдет, проанализирует и учтет эти файлы, если они существуют. | ||
тексты | Файлы Portable Document Format, содержащие изображения, сжатые с помощью MRC, и результат OCR в виде скрытого (доступного для выбора и поиска) текстового слоя. (В некоторых случаях файлы PDF могут иметь немного другой суффикс, но расширение остается .pdf) | |||
itemimage.png | texts | Файл изображения PNG, который будет использоваться в качестве основного изображения на странице элемента. Для аудиоэлементов он может отображаться рядом с аудиоплеером. Для предметов коллекции он будет отображаться рядом с заголовком. Он будет использоваться для создания эскиза изображения, используемого в плитках результатов поиска. | ||
chocr.html.gz | texts | OCR результаты с детализацией на уровне символов | ||
dc.xml | texts | XML in Dublin Core record) Dublin Core — это набор элементов метаданных, представляющих собой небольшую основную группу текстовых элементов, с помощью которых можно описать и каталогизировать большинство ресурсов; формат метаданных для описания ресурсов. | ||
meta.sqlite | тексты | Метаданные для синхронизации файлов через базу данных sqlite | ||
имена. xml | тексты | список постранично всех научных названий, найденных в книге; представлен в формате xml | ||
itemimage.jpg | texts | Файл изображения JPG, который будет использоваться в качестве основного изображения на странице товара. Для аудиоэлементов он может отображаться рядом с аудиоплеером. Для предметов коллекции он будет отображаться рядом с заголовком. Он будет использоваться для создания эскиза изображения, используемого в плитках результатов поиска. | ||
__ia_thumb.jpg | Тексты | Изображение эскизы. достоверность, местоположение и т. д.) | ||
itemimage.gif | texts | Файл изображения GIF, который будет использоваться в качестве основного изображения на странице элемента. Для аудиоэлементов он может отображаться рядом с аудиоплеером. Для предметов коллекции он будет отображаться рядом с заголовком. Он будет использоваться для создания эскиза изображения, используемого в плитках результатов поиска. | ||
.epub | тексты | EPUB — это формат файла электронной книги с расширением «.epub». Этот термин является коротким для электронной публикации и иногда называется ePub. EPUB поддерживается многими электронными книгами, а совместимое программное обеспечение доступно для большинства смартфонов, планшетов и компьютеров. | ||
тексты | Цифровая доступная информационная система (DAISY) — это технический стандарт для цифровых аудиокниг, периодических изданий и компьютеризированных текстов. DAISY разработан как полная замена печатных материалов и специально разработан для использования людьми с ограниченными способностями воспринимать печатную информацию, включая слепоту, нарушение зрения и дислексию. https://en.wikipedia.org/wiki/Цифровая_Доступная_Информационная_Система | |||
archive.torrent | texts | Производный торрент-файл, содержащий информацию о файлах в элементе. archive.org не загружает файлы. | ||
зашифрованный.pdf | тексты | Производный зашифрованный файл PDF для использования в приложениях для чтения DRM, таких как Adobe Digital Editions | ||
зашифрованный.epub как Adobe Digital Editions | ||||
slot.png | texts | Чеки сканирования книг, которые загружаются для резервирования идентификатора, чтобы не ждать часами загрузки полной книги в процессе OCR после загрузки каждый элемент получит один или несколько файлов hocr.html, которые представляют результаты заданий OCR. Каждый файл hocr.html содержит результаты для всех страниц в одном наборе изображений (книга, PDF и т. д.) с текстом, ограничивающими рамками и достоверностью на уровне слов. Для тех, кто ищет более подробные результаты OCR, каждый файл _hocr.html также должен иметь соответствующий файл chocr.html.gz с детализацией на уровне символов. (Конечно, точное значение слова «персонаж» зависит от сценария или языка). | ||
images. zip | тексты | ZIP-архив изображений, отформатированный для получения файлов, необходимых для создания флипбука, pdf и других текстовых форматов очищенных, обрезанных и т. д. изображений страниц JP2. Это изображения самого высокого качества с наименьшими изменениями, которые доступны после набора файлов raw/orig. Высокого качества; Лучше всего подходит для использования и печати пластин, иллюстраций, подробных рисунков и таблиц | ||
jp2.tar | texts | Файл стека изображений tar, отформатированный для получения файлов, необходимых для создания флипбука, pdf и других текстовых форматов массив, аннотирующий начало каждого отдельного элемента страницы в файле hocr.html, что позволяет быстро переходить на отдельную страницу без разбора всего XML. | ||
metasource.xml | тексты | собственный файл XML, в котором записано, откуда была получена запись MARC (каталог, оператор, zquery и т. д.) MARC — это формат библиографических данных, описывающий стандарты представления и передачи библиографической и связанной с ней информации в машиночитаемой форме, а также соответствующую документацию | ||
scandata. xml | texts | собственный файл XML, в котором хранится информация об изображении каждой страницы (handSide, cropBox, исходная ширина и высота и т. д.) | ||
hocr_searchtext.txt.gz | texts | незашифрованный текстовый файл, загружаемый системой полнотекстового поиска. | ||
djvu.xml | texts | модифицированная версия стандарта DjVu XML, эти файлы также можно использовать для чтения результатов OCR, но вместо этого рекомендуется анализировать файлы hOCR. | ||
page_numbers.json | texts | Карта номеров страниц, автоматически обнаруженных в книге. Если показатель достоверности достаточно высок, они иногда добавляются в scandata.xml | ||
events.json | texts | Файл json, содержащий информацию о событиях Republisher. Формат устарел и больше не используется. | ||
djvu.txt | texts | удобочитаемая текстовая версия сгенерированного файла djvu. xml. OCR означает «оптическое распознавание символов»; преобразование изображений текста в текстовые символы | ||
bhlmets.xml | texts | Формат, созданный и используемый Библиотекой наследия биоразнообразия (BHL) | ||
.cbr | texts | Архив комиксов или файл для чтения комиксов (также называемый последовательным файлом изображения) — это тип архивного файла для последовательного просмотра изображений, обычно для комиксов. https://en.wikipedia.org/wiki/Comic_book_archive | ||
.cbz | texts | последовательный просмотр изображений, обычно для комиксов. https://en.wikipedia.org/wiki/Comic_book_archive | ||
bw.pdf | texts | Черно-белый PDF-файл, составленный с использованием бинарных версий изображений. Бинаризованные изображения недоступны. Низкий; достаточно для печати с низкой стоимостью чернил или печати только текстовых изображений | ||
. |