Извлечь файл JAR

Без ограничений заданий. Размер файлов до 2.5ГБ. Бесплатно, вечно.

Все локально

Наш конвертер работает в вашем браузере, поэтому мы никогда не видим ваши данные.

Быстрый как молния

Нет необходимости загружать ваши файлы на сервер - преобразования начинаются мгновенно.

Безопасность по умолчанию

В отличие от других конвертеров, ваши файлы никогда не загружаются к нам.

Что такое формат JAR?

Архив Java

Формат архива ISO, также известный как ISO 9660, является стандартом файловой системы, опубликованным Международной организацией по стандартизации (ISO) в 1988 году. Он был разработан как кроссплатформенная файловая система для оптических дисков, таких как CD-ROM. Целью было предоставить унифицированный метод для чтения данных с оптических дисков различными операционными системами, обеспечивая взаимодействие и совместимость.

ISO 9660 определяет иерархическую структуру файловой системы, аналогичную файловым системам, используемым большинством операционных систем. Он организует данные в каталоги и файлы, причем каждый каталог может содержать подкаталоги и файлы. Стандарт определяет формат дескрипторов тома и каталога, а также таблицу путей, которая используется для быстрого доступа к каталогам.

Одной из ключевых особенностей формата ISO 9660 является его простота и совместимость. Стандарт накладывает ограничения на имена файлов, структуры каталогов и метаданные, чтобы обеспечить возможность чтения дисков широким спектром систем. Имена файлов ограничены 8 символами, за которыми следует расширение из 3 символов (формат 8.3), и могут содержать только заглавные буквы, цифры и подчеркивания. Имена каталогов также ограничены, с максимальной глубиной 8 уровней.

Для поддержки более длинных имен файлов и дополнительных метаданных стандарт ISO 9660 был расширен с помощью различных спецификаций. Одним из таких расширений является Joliet, представленное Microsoft в 1995 году. Joliet допускает более длинные имена файлов (до 64 символов Unicode) и поддерживает чувствительность к регистру. Это достигается путем включения дополнительного набора записей каталога с использованием кодировки UCS-2, которая считывается системами, поддерживающими расширение Joliet.

Еще одним заметным расширением ISO 9660 является Rock Ridge, который был разработан для систем UNIX. Rock Ridge добавляет семантику файловой системы POSIX, такую как права доступа к файлам, владение и символические ссылки, в формат ISO 9660. Это расширение позволяет сохранять атрибуты файлов, специфичные для UNIX, при создании образов ISO из файловых систем UNIX.

Формат ISO 9660 делит диск на логические блоки, каждый из которых обычно имеет размер 2048 байт. Первые 16 блоков зарезервированы для системного использования и содержат дескрипторы тома, которые предоставляют информацию о структуре и содержимом диска. Первичный дескриптор тома является обязательным и включает такие сведения, как идентификатор тома диска, размер логических блоков и запись корневого каталога.

После дескрипторов тома на диске хранится таблица путей. Таблица путей содержит информацию о местоположении каждого каталога на диске, что позволяет быстро перемещаться по иерархии каталогов. Она состоит из таблицы путей L (Little-Endian) и таблицы путей M (Big-Endian) для поддержки различных порядков байтов, используемых различными системами.

Каталоги и файлы хранятся в последующих блоках диска. Каждый каталог представлен записью каталога, которая содержит такую информацию, как имя каталога, его родительский каталог и местоположение связанных с ним файлов и подкаталогов. Файлы хранятся как непрерывные последовательности логических блоков, их местоположение и размер указаны в соответствующей записи идентификатора файла в каталоге.

При создании образа ISO файловая система сначала организуется в соответствии с требованиями стандарта ISO 9660. Это включает в себя обеспечение соответствия имен файлов и каталогов формату 8.3, ограничение глубины каталога и преобразование имен файлов в верхний регистр. После подготовки файловой системы она записывается в файл образа с расширением `.iso`, который затем можно записать на оптический диск или использовать как образ виртуального диска.

Для чтения диска в формате ISO 9660 операционная система или специальное программное приложение сначала изучает дескрипторы тома, чтобы определить структуру и характеристики диска. Затем она использует таблицу путей и записи каталога для навигации по иерархии файловой системы и поиска определенных файлов или каталогов. При доступе к файлу система считывает соответствующие логические блоки с диска на основе информации, предоставленной в записи идентификатора файла.

Формат ISO 9660 получил широкое распространение и до сих пор широко используется для распространения программного обеспечения, мультимедийного контента и архивных данных на оптических дисках. Его простота, совместимость и надежность способствовали его долговечности, даже несмотря на появление новых форматов оптических дисков и файловых систем.

Несмотря на свой возраст, стандарт ISO 9660 остается актуальным в современных вычислениях. Многие программные приложения и операционные системы, включая Windows, macOS и Linux, продолжают поддерживать формат нативно. Кроме того, образы ISO часто используются для распространения файлов установки операционной системы, пакетов программного обеспечения и образов дисков виртуальных машин, поскольку они предоставляют удобный и независимый от платформы метод хранения и передачи данных.

В заключение, формат ISO 9660 сыграл решающую роль в стандартизации структуры файловой системы для оптических дисков, обеспечив кроссплатформенную совместимость и облегчив распространение цифрового контента. Его расширения, такие как Joliet и Rock Ridge, добавили поддержку более длинных имен файлов, дополнительных метаданных и атрибутов, специфичных для UNIX. Хотя оптические диски в значительной степени были вытеснены другими носителями и сетевыми методами распространения, формат ISO 9660 остается надежным и широко поддерживаемым стандартом для архивирования и обмена данными.

По мере развития технологий формат ISO 9660 в конечном итоге может быть заменен более новыми, более совершенными файловыми системами, предназначенными для оптических дисков большой емкости или других носителей. Однако его влияние на историю вычислений и его роль в установлении стандартизированного подхода к обмену данными между платформами не будут забыты. Формат ISO 9660 служит свидетельством важности взаимодействия и преимуществ отраслевого сотрудничества в разработке и принятии стандартов.

Сжатие файлов уменьшает избыточность, чтобы те же данные занимали меньше бит. Верхняя граница задаётся теорией информации: для без потерь пределом является энтропия источника (см. теорему кодирования источника Шеннона source coding theorem и его оригинальную статью 1948 года «A Mathematical Theory of Communication»). Для сжатия с потерями компромисс между битрейтом и качеством описывает теория rate–distortion.

Два столпа: моделирование и кодирование

Большинство компрессоров работают в два этапа. Сначала модель предсказывает или выявляет структуру данных. Затем кодер превращает эти предсказания в почти оптимальные шаблоны битов. Классическая семья моделей — Lempel–Ziv LZ77 (1977) и LZ78 (1978) находят повторяющиеся подстроки и излучают ссылки вместо сырых байтов. На стороне кодирования кодирование Хаффмана (см. статью 1952 года) назначает более короткие коды вероятным символам. Арифметическое кодирование и range coding ещё точнее приближаются к пределу энтропии, а современные Asymmetric Numeral Systems (ANS) дают схожие коэффициенты при табличных реализациях.

Что делают популярные форматы

DEFLATE (используют gzip, zlib, ZIP) сочетает LZ77 и Хаффмана. Спецификации открыты: DEFLATE RFC 1951, оболочка zlib RFC 1950и формат gzip RFC 1952. Gzip ориентирован на потоковую передачу и явно не обеспечивает произвольный доступ. PNG закрепляет DEFLATE как единственный метод (окно до 32 КиБ) согласно спецификации «Compression method 0…» и W3C/ISO PNG 2nd Edition.

Zstandard (zstd): современный универсальный компрессор с высокими коэффициентами и очень быстрой декомпрессией. Формат описан в RFC 8878 HTML-зеркале) и в референс-спеке на GitHub. Как и gzip, базовый фрейм не предполагает произвольного доступа. Главное преимущество zstd — словари: маленькие образцы корпуса, резко улучшающие сжатие множества крошечных или похожих файлов (см.документацию словарей python-zstandard и пример Nigela Tao). Реализации принимают «unstructured» и «structured» словари (обсуждение).

Brotli: оптимизирован для веб-контента (WOFF2, HTTP). Совмещает статический словарь и DEFLATE-подобное ядро LZ+энтропия. Спецификация — RFC 7932, где указано окно 2WBITS−16 с WBITS в [10, 24] и то, что формат не предоставляет произвольный доступ. Brotli часто превосходит gzip на веб-тексте и быстро декодируется.

Контейнер ZIP: ZIP — файловый архив, поддерживающий разные методы (deflate, store, zstd и др.). Де-факто стандарт — APPNOTE PKWARE (см.портал APPNOTE, размещённую копиюи обзоры LC ZIP File Format (PKWARE) / ZIP 6.3.3).

Скорость vs коэффициент

LZ4 ориентирован на максимальную скорость при умеренных коэффициентах. См. страницу проекта и формат фреймов. Подходит для кэшей в памяти, телеметрии и горячих путей, где декомпрессия должна быть почти со скоростью RAM.

XZ / LZMA гнётся за плотностью (высоким коэффициентом), но компрессует медленнее. XZ — контейнер; основную работу делают LZMA/LZMA2 (моделирование наподобие LZ77 + range coding). См.формат .xz, спецификацию LZMA (Павлов)и заметки ядра Linux про XZ Embedded. XZ обычно сжимает лучше gzip и соперничает с современными кодеками высокой плотности, но кодирует дольше.

bzip2 использует преобразование Бэрроуза–Уилера (BWT), move-to-front, RLE и Хаффмана. Обычно даёт файлы меньше, чем gzip, но медленнее; см.официальный мануал и man-страницу (Linux).

Окна, блоки и произвольный доступ

Важен размер окна. Ссылки DEFLATE смотрят максимум на 32 КиБ назад (RFC 1951) и ограничение PNG 32 КиБ здесь. Brotli поддерживает окна от ~1 КиБ до 16 МиБ (RFC 7932). Zstd настраивает окно и глубину поиска уровнями (RFC 8878). Базовые потоки gzip/zstd/brotli спроектированы для последовательного чтения; сами форматы не гарантируют произвольный доступ, хотя контейнеры (индексы tar, блочное фреймирование, форматные индексы) могут его добавить.

Lossless vs lossy

Форматы выше — lossless: можно восстановить те же байты. Медиа-кодеки часто lossy: они отбрасывают незаметные детали ради меньших битрейтов. Для изображений классический JPEG (DCT, квантование, энтропийное кодирование) стандартизован в ITU-T T.81 / ISO/IEC 10918-1. В аудио MP3 (MPEG-1 Layer III) и AAC (MPEG-2/4) используют перцепционные модели и MDCT (см.ISO/IEC 11172-3, ISO/IEC 13818-7и обзор MDCT здесь). Lossy и lossless могут сосуществовать (PNG для UI, веб-кодеки для изображений/видео/аудио).

Практические советы

  • Выбирайте под задачу. Текст и шрифты для веба brotli. Общие файлы и бэкапы zstd (быстрая декомпрессия и уровни для обмена временем на коэффициент). Сверхбыстрые каналы и телеметрия lz4. Максимальная плотность для долгосрочных архивов, если время кодирования приемлемо xz/LZMA.
  • Мелкие файлы? Тренируйте и поставляйте словари для zstd (доки) / (пример). Они значительно ужимают десятки маленьких похожих объектов.
  • Интероперабельность. При обмене множеством файлов используйте контейнер (ZIP, tar) плюс компрессор. APPNOTE для ZIP задаёт идентификаторы методов и возможности; смотрите PKWARE APPNOTE и обзоры LC здесь.
  • Мерьте на своих данных. Коэффициенты и скорости зависят от корпуса. Многие репозитории публикуют бенчмарки (например, README LZ4 ссылается на корпус Silesia здесь), но всегда проверяйте локально.

Ключевые источники (углубиться)

Теория Shannon 1948 · Rate–distortion · Кодирование Huffman 1952 · Арифметическое кодирование · Range coding · ANS. Форматы DEFLATE · zlib · gzip · Zstandard · Brotli · LZ4 frame · XZ format. Стек BWT Burrows–Wheeler (1994) · руководство bzip2. Медиа JPEG T.81 · MP3 ISO/IEC 11172-3 · AAC ISO/IEC 13818-7 · MDCT.

Итог: подбирайте компрессор под свои данные и ограничения, измеряйте на реальных входах и не забывайте о выгоде словарей и умного фрейминга. С удачной парой получите меньшие файлы, быстрые передачи и отзывчивые приложения без ущерба корректности и переносимости.

Часто задаваемые вопросы

Что такое сжатие файлов?

Сжатие файлов - это процесс, который уменьшает размер файла или файлов, обычно для экономии места на диске или ускорения передачи по сети.

Как работает сжатие файлов?

Сжатие файлов работает путем идентификации и удаления избыточности в данных. Оно использует алгоритмы для кодирования исходных данных в более маленьком пространстве.

Какие существуют типы сжатия файлов?

Два основных типа сжатия файлов: без потерь и с потерями. Сжатие без потерь позволяет восстановить исходный файл целиком, в то время как сжатие с потерями обеспечивает более значительное уменьшение размера за счет небольшой потери в качестве данных.

Приведите пример инструмента для сжатия файлов?

Популярным примером инструмента для сжатия файлов является WinZip, который поддерживает несколько форматов сжатия, включая ZIP и RAR.

Влияет ли сжатие файлов на качество файлов?

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

Безопасно ли сжатие файлов?

Да, сжатие файлов безопасно с точки зрения целостности данных, особенно при сжатии без потерь. Однако, как и любые файлы, сжатые файлы могут стать целью для вредоносного ПО или вирусов, поэтому всегда важно иметь надежное программное обеспечение безопасности.

Какие типы файлов можно сжимать?

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

Что такое ZIP-файл?

ZIP-файл - это тип формата файла, который использует сжатие без потерь для уменьшения размера одного или нескольких файлов. Несколько файлов в ZIP-файле фактически объединяются в один файл, что также упрощает обмен данными.

Могу ли я сжать уже сжатый файл?

Технически, да, хотя дополнительное уменьшение размера может быть минимальным или даже противопродуктивным. Сжатие уже сжатого файла иногда может увеличить его размер из-за метаданных, добавленных алгоритмом сжатия.

Как я могу распаковать файл?

Чтобы распаковать файл, обычно вам нужен инструмент для распаковки или разархивации, такой как WinZip или 7-Zip. Эти инструменты могут извлечь исходные файлы из сжатого формата.