Почему после сжатия файл стал больше
Решил поискать в интернете информацию о том, какой архиватор лучше сжимает файлы, и все расхваливали 7zip. Вот и я решил попробовать заархивировать папку весом в 7.3 гб, но случилось чудо и папка после архивации стала весить 7.4 гб. Так должно быть или я что-то не то сделал?) Перед началом архивации, тип сжатия выбрал вроде бы ультра.
После изменения прав на папку, она стала весить 0 байт
В общем проблема такова: как-то давно ещё ломался ноубук, винда была XP. Купил новый ноут(поставил.
База данных стала весить меньше
Добрый день! Сделал структуры базы данных, она весила 7.62 мб, сделал копию базы и закинул на.
Папака Windows стала много весить. Стоит Windows 8
Папака Windows стала много весить. стоит восьмерка. раздел С 29,1 Гб свободно 1 теперь всего.
Программа, создавая архив, обрабатывает как текстовые файлы, так и бинарные файлы. Первые всегда сжимаются в несколько раз (в зависимости от архиватора), тогда как сжатие бинарных файлов зависит от их характера. Одни бинарные файлы могут быть сжаты в десятки раз, сжатие же других может и вовсе не уменьшить занимаемый ими объем.
Поставьте IZArc, при установке отметьте "Выбрать всё" где будут типы архивов. Работает с кучей типов образов, я про половину даже не знал, что такие есть. Кроме стандартных RAR, ZIP, ISO, 7z ещё куча всяких.
пардон, а кого это так архивировать и чем, за это время можно не только заархивировать, но и забальзамировать и похоронить ..даже с музыкой
пардон, а кого это так архивировать и чем, за это время можно не только заархивировать, но и забальзамировать и похоронить ..даже с музыкой
ну и что и? как минимум конечные параметры архивирования подразумевают объем предархивационного (ого какое слово)) материала, характеристики архиватора и предмет архивирования
или я что то не понимаю..
dzu38, и перестаньте цыкать на меня сквозь зубы..мне как то по барабану..
Имхо, как уже и описывалось выше - архивировать, то что уже заархивировано, то бишь: файлы мультимедия (МР3, 3GP, MPEG4 и т.п.), всякие установщики и архивы и т.п. не имеет смысла, так это уже сжато, а размер создаваемого файла-архива больше получается, так архиватор в созданный архив добавляет свою служебную инфу.
господа, господа.
вы ведь уже взрослые люди, достаньте и померяйтесь
В рускоязычном Интернете уже много лет никто не публикует о достижениях в области архиваторов. Поэтому знания всех пользователей находятся на уровне примерно 5-летней давности. (С другой стороны, пользователям и этого хватает!)
Папка стала exe-файлом
Здравствуйте все ещё раз. У меня новая проблема - папка с фотографиями, хранящаяся на флешке в.
Система архивации windows server не создаёт расписание архивации
стоит windows 2008 r2 создаю "расписание архивации" и на последнем шаге вылазит ошибка "имя.
Удаление файла после архивации
Здравствуйте, есть небольшой вопрос касающийся удаления исходных файлов после их добавления в.
Не могу восстановить данные после архивации
Все дело в том, что когда делал архивацию у пользователя, стояла Апрельская дата, и все письма с.
Вывести на экран таблицу соответствия между весом в фунтах и весом в килограммах
1) Решите задачу тремя способами: используя операторы цикла for, while и repeat. Вывести на экран.
Вывести на экран таблицу соответствия между весом в фунтах и весом в киллограммах
Вывести на экран таблицу соответствие между весом в фунтах и весом в киллограммах для для значений.
Зависит от типа файла. Если он уже сжат у себя внутри, то физика и математика - вещи неумолимые .)
Видео, как правило, уже сжато донемогу. Лучшие математики планируют алгоритмы видеопотоков.
kvit 6 (6284) 2 18 40 12 лет
смотря что архивишь. Далеко не все файлы сжимаются хорошо
Видео хреново архивится, ибо на тех же торрентах все бы выкладывали видео в архивах )
Chrome_Shelled (2021) 7 (32789) 6 42 151 12 лет
не все файлы можно сжать.
К примеру архивируя текстовый файл, где нет ничего кроме текста, можно сжать до 20% от исходного размера.
А вот, обратный пример, картинки йпг не сжимаются. Нельзя сжать уже сжатое до предела
ну значит он и так сжат до предела. единственный выход облегчить - конвертация в другой формат с ухудшением качества
Spectrum (32) 7 (38495) 3 9 31 12 лет
Видео практически не сжимается.
SpaM_Forever (28) 6 (6468) 3 12 40 12 лет
Видео музыку и картинки не имеет смысла архивировать!
Женя (33) 7 (39320) 5 36 130 12 лет
Зависит от кодека. кодек теоретически это уже компрессия видео. если хороший кодек, то и сжиматься будет не особо :)
Анонимус 7 (40456) 2 9 18 12 лет
Он уже сжат, можешь не пытаться.
Be_Positive 7 (32028) 6 45 129 12 лет
да, что ты расстраиваешься ? Уже 8% . К утру докидается
Vizzari (33) 5 (4499) 2 17 45 12 лет
Один большой файл практически не сжимается , былоб много и маленьких то сжались бы существенно !
TviTi 4 (1498) 5 17 12 лет
Томомучто он просто смесьтил фаилы в один!
А зиповать надо через другую прогу! винзип!
Похожие вопросы
да, но только при условии Encrypted File System. (пароль для файла = твой пароль учётной записи)
"спец проги" в большинстве своём фуфло полное
Мое мнение, хочешь совместимости с другими компами (всех операционок) пользуйся zip, надо что-то быстро зажмякать для себя, все равно.
IM-Worm.Win32.Agent.lx
Вирус. Если не хочешь переустанавливать виндовс, напиши в личку, помогу с антивирусоми
через мобилу можно, но дорого
берёшь проводок, от мобилы в Line-In мафона в машине (если такой там есть), с мобилы выходишь в инет, врубаешь то радио и наслаждайся.
Format Factory чтобы уменьшить этот гигантский размер.
VirtualDub - чтобы порезать
Написал несколько методов, читаем частями файл, далее сжимаем его, все кладем в очередь с готовыми блоками и потом блоки пишем в файл, использую сжатие данных и на выходе файл получается по размеру больше, чем исходный файл , подскажите почему так?
Варианта 3. 1)Либо размер маленький. Кроме сжатия ещё пиутся заголовки, заголовки тоже требуют места. 2) Содержимое данным алгоритмом не может быть сжато или попытка сжать повторно (уже сжатая информация как правило не сжимается, т.е. не сожмется jpg, mp3, и т д). 3)Банально глюк архиватора - строит расширеную таблицу вместо короткой. Я ловил такой глюк
@nick_n_a сжимаю mp3, все сжимается я даже раром разжимаю и оно играет)), только вопрос с весом файла меня беспокоит, на чем лучше проверить именно сжатие,какие данные сжиматься будут хорошо
эээ вы путаете rar и zip , если вы сжали rar , а говорите что zip не сжимается - то это как-то не логично. zip чуть беднее. Берите тогда rar-библиотеку (если её реально достать) и ею сжимайте, указаным методом сжатия (BEST).
Вопросы должны включать желаемое поведение, конкретную проблему или ошибку. Вопросы без явного описания проблемы бесполезны для остальных посетителей. Что вы сжимаете, чем сжимаете, как, что получаете, что ожидаете получить, почему ожидаете именно это а не другое - это все нужные детали ..
Анти-велосипед SharpCompress :) нет глубоково смысла писать очередную обёртку вокруг родного Compress , если требуется качество сжатия, надо брать соответствующие инструменты.
1 ответ 1
Функциональные возможности сжатия в DeflateStream и GZipStream предоставляется в виде потока. Данные считываются на основе байт за байтом, поэтому невозможно выполнить несколько проходов для определения наилучшего метода сжатия целых файлов или больших блоков данных. DeflateStream И GZipStream лучше всего используются классы несжатого источников данных. Если исходные данные уже сжаты, использование этих классов может действительно увеличить размер потока.
Я попробовал 7zip .exe файл, но на самом деле он стал больше.
Это ожидаемый результат?
Да, это ожидаемый результат. Зачем? Потому что, когда что-то уже сжато (= используя меньшее возможное пространство), оно не может быть сжато дальше.
Просто чтобы добавить ко всем остальным - так как этот exe-файл определенно является установщиком, большая часть его содержимого, вероятно, представляет собой zip или cab-архив. Вы не получите те же результаты из обычного exe-файла (но большинство обычных exe-файлов не будут иметь 145 мегабайт)
Все сводится к концепции энтропии . Смотрите Википедию .
Основная идея заключается в том, что если бы существовала операция сжатия, которая всегда могла сделать файл меньше, то логика подсказывает, что указанная операция сжатия сможет уменьшить любой файл до 0 байтов и при этом сохранить все данные. Но это абсурд , потому что мы знаем, что 0 байтов не могут передавать какую-либо информацию вообще. Итак, мы только что доказали, что не может существовать алгоритм сжатия, который всегда уменьшает его входные данные, потому что если бы это было так, любая информация могла бы храниться в 0 байтах - но 0 байтов подразумевают отсутствие информации, поэтому вы можете ' т одновременно нет нет информации и всей информации. Следовательно, это абсурд.
Из-за этой теоретической концепции каждая программа сжатия, которую вы когда-либо используете, будет увеличивать размер (или, в лучшем случае, поддерживать тот же размер) некоторого ввода. То есть для любого алгоритма сжатия, который вы разрабатываете или используете, будут определенные входные данные, которые будут меньше, а некоторые нет.
Уже сжатые данные, как правило, являются ужасным кандидатом для дальнейшего сжатия, поскольку большинство алгоритмов сжатия без потерь основаны на тех же теоретических принципах. Это является возможным , чтобы сжать плохо сжатые данные еще дальше; но это менее эффективно, чем просто сжимать его наилучшим доступным алгоритмом из исходных данных для начала.
Например, если у вас есть текстовый файл размером 100 МБ и вы сжимаете его с помощью обычного алгоритма Zip, он может быть сжат до 50 МБ. Если затем сжать Zip-файл с помощью LZMA2, вы можете уменьшить его до 40 или 45 МБ, поскольку LZMA имеет более высокую степень сжатия для большинства сжимаемых данных, чем Zip. Поэтому вполне понятно, что он также может сжимать данные Zip, потому что Zip не полностью высасывает из него всю энтропию. Но если вы полностью исключите контейнер Zip, вы сможете получить его еще меньше, сжимая необработанный текст с помощью LZMA2, потенциально получая что-то порядка 30–35 МБ (это просто «воздушные числа», чтобы проиллюстрировать концепцию) ,
В случае того двоичного файла, который вы пытаетесь сжать, он больше, потому что формат файла 7-Zip должен создать свою собственную внутреннюю структуру и упаковать данные уже сжатого исполняемого файла в формат 7-Zip. Это содержит такие вещи, как словарь, заголовок файла и так далее. Эти дополнительные данные обычно более чем компенсируются экономией на сжатии самих данных, но кажется, что исполняемый файл, который вы пытаетесь сжать, уже сжат с помощью некоторой формы LZMA; в противном случае он, скорее всего, уменьшит размер исполняемого файла или очень немного увеличит его, а не увеличит его на 2 МБ (что очень много).
Кстати, самая важная часть для ответа на этот вопрос в самом конце: «Это содержит такие вещи, как словарь, заголовок файла и т. д. Эти дополнительные данные обычно более чем компенсируются экономией сжатия самих данных, но это Похоже, что исполняемый файл, который вы пытаетесь сжать, уже сжат какой-то формой LZMA "
@jhocking: Нет, самая важная часть ближе к середине: «Каждая программа сжатия, которую вы когда-либо используете, будет увеличивать размер . некоторого ввода». В файловом формате 7zip есть словарь / заголовок файла / и т. Д., Но даже если 7zip использовал алгоритм, в котором не было ни одной из этих вещей, мы по-прежнему гарантируем, что некоторые (фактически большинство) входных данных будут иметь выходные данные, которые как-больше-или-больше, чем сами входы. Это основной факт теории информации, и он не имеет ничего общего с заголовками файлов.
@Mehrdad Конечно: просто напишите алгоритм «сжатия», который всегда возвращает исходные данные. Там; сделанный. : P . Кроме того, нет - любой алгоритм сжатия, который вообще является алгоритмом, будет иметь некоторые метаданные, даже если это всего один бит в начале файла, который указывает, сжат ли файл (0 == несжатый, 1 == сжатый). Если вы собираетесь изменить содержимое файла AT ALL , необходимо некоторое метаданные. И если вы изменяете содержимое, вы собираетесь увеличить некоторые входные данные.
Однако, если ваш вопрос звучит так: «Существует ли какой-либо алгоритм сжатия, который не увеличивает длину ввода сверх фиксированного количества метаданных», ответ таков: я не знаю, но это должно быть теоретически возможно сделать. Легко, на самом деле. Все , что вам нужно сделать , это разработать формат контейнера , который может либо содержать исходный файл, или поток сжатых данных. Затем, когда вы создаете архив, попробуйте сжать: если сжатый размер больше, чем вход, просто сохраните исходный вход и упакуйте ваши метаданные впереди. Размер файла увеличится, но если метаданные малы (продолжение)
Базовые алгоритмы сжатия, используемые в 7z, без потерь . Это означает, что вы можете многократно сжимать-распаковывать файл много раз. Кроме того, после каждой итерации файл останется точно таким же.
К сожалению, вы не можете ожидать, что алгоритм сжатия без потерь будет применяться много раз с всегда положительным результатом. Существует строгая граница, которую он не может перепрыгнуть. Грубо говоря, эта граница зависит от того, насколько близко входная последовательность объединяет случайные данные. Прежде всего, алгоритмы без потерь используются для сжатия файлов, передачи данных HTML в Интернете, резервного копирования и других операций, которые ожидают, что выходной файл будет распакован точно в тот же исходный входной файл.
В отличие от сжатия без потерь, вы всегда можете ожидать уменьшения размера файла после сжатия с помощью алгоритмов сжатия с потерями (или с потерями) . Недостатком является то, что вы не можете точно восстановить исходный файл после одной итерации сжатия-распаковки. Эти алгоритмы наиболее известны для передачи и хранения аудио / видео / изображений.
bzip2 , LZMA , LZMA2 и другие алгоритмы, используемые в формате 7z , без потерь . Поэтому будет предел, после которого он больше не сможет сжиматься. Кроме того, исполняемые образы (.exe) обычно представляют собой сильно сжатые файлы. 7zip, как и многие другие инструменты сжатия, встраивает некоторые метаданные, которые фактически могут увеличить размер выходного файла.
Дразнилка мозга: что, если бы у нас был алгоритм без потерь, который всегда может уменьшить размер файла?
В этом случае вы всегда увидите, что сжатый файл меньше входного файла. Смотрите комментарий ниже, почему это невозможно.
Доказательство осквернением. Гипотеза: Предположим, что всегда можно сжать файл с алгоритмом без потерь. Шаг 1. Одиночное сжатие уменьшает размер выходного файла как минимум на один бит. Если так, то после ряда итераций мы получим файл, который имеет только два бита. Шаг 2 Следующая итерация создает файл размером 1 бит. Шаг 3 Но алгоритмы сжатия без потерь, что означает, что допустима только одна допустимая декомпрессия. Очевидно, что вы не можете восстановить 2 исходных бита из 1 сжатого бита - вам придется сделать предположение. Последний пункт нарушает гипотезу.
Вы не можете гарантировать алгоритм, который уменьшает размер файла, но вы можете гарантировать алгоритм, который не увеличит размер, не применяя в этих случаях «сжатие». Однако для того, чтобы действительно не увеличить размер файла, вы должны указать это вне диапазона (например, в имени файла).
Я просто добавил, что, поскольку у вас всегда есть возможность не сжимать входные данные, у вас может быть программа сжатия, которая вообще не будет сжимать файл. По сути, если вы определите, что сжатая версия больше, чем несжатая, вы просто оставляете ее. Затем вам также придется как-то указать, что это так, не прибавляя к размеру вывода, чтобы декомпрессор знал, что файл не был сжат. Единственный способ сделать это без увеличения размера файла, это сделать что-то вроде изменения имени файла.
Как отправлять большие файлы PDF по электронной почте.
Основываясь на идее, что заархивированный файл - это новый двоичный файл, почему я не могу уменьшить размер Zip-архива, архивируя его снова и снова - до очень маленького результирующего файла?
- 3 По теме: Могу ли я снова сжать файл RAR, чтобы уменьшить его размер?
Основываясь на идее, что заархивированный файл - это новый двоичный файл, почему я не могу уменьшить его размер, повторно заархивируя его до очень маленького файла?
Поскольку сжатие работает на основе поиска закономерностей и сокращения похожих данных.
Например, RLE (кодирование длин серий) - это простой метод сжатия, при котором данные проверяются, а серии похожих данных сжимаются следующим образом:
Как видите, заменяя повторяющиеся данные только данными и подсчетом того, сколько раз они встречаются, вы можете уменьшить этот конкретный пример с 35 до 20 байтов. Это не огромный снижение, но все равно на 42% меньше. Более того, это небольшой надуманный пример; более крупные примеры из реальной жизни могут иметь еще лучшее сжатие. (The OO остался один, потому что заменил его на 2O ничего бы не спасло.)
Текстовые файлы часто сжимаются очень хорошо, потому что они, как правило, содержат множество шаблонов, которые можно сжать. Например, слово в очень распространен в английском языке, поэтому вы можете отбросить каждое отдельное слово с идентификатором, который состоит только из одного байта (или даже меньше). Вы также можете сжать больше с части слов, похожих на cAKE , bAKE , shAKE , undertAKE , и так далее.
Так почему же вы не можете сжать уже сжатый файл? Потому что, когда вы выполняли начальное сжатие, вы удалил шаблоны.
Посмотрите на сжатый пример RLE. Как можно это сжать дальше? Нет серий идентичных данных для сжатия. На самом деле, часто, когда вы пытаетесь сжать уже сжатый файл, вы можете получить больше файл. Например, если вы принудительно перекодировали приведенный выше пример, вы можете получить что-то вроде этого:
Теперь данные сжатия (счетчики запусков) сами обрабатываются как данные, так что вы получаете файл большего размера, чем был в начале.
Что ты мог try - использовать другой алгоритм сжатия, потому что возможно, что результат одного алгоритма сжатия может быть первичным для другого алгоритма, однако это обычно маловероятно.
Конечно, речь идет о сжатии без потерь, когда распакованные данные должны быть в точности идентичны исходным данным. При сжатии с потерями обычно можно удалить больше данных, но качество падает. Кроме того, сжатие с потерями обычно использует какую-то схему на основе шаблонов (это не только отбросить данные), так что в конечном итоге вы все равно достигнете точки, где просто не будет шаблонов для поиска.
Файл, который был оптимально сжат, не будет иметь шаблонов или чего-либо, что можно уменьшить.
Представим себе простой файл, содержащий это.
Если мы сжимаем его, мы можем сказать, что это 20 знаков A, новая строка, за которыми следуют 20 B, новая строка, а затем 20 C. Или что-то вроде 20xA\\\\n20xB\\\\n20xC\\\\n . После того, как мы выполнили первое сжатие, новых шаблонов для сжатия не будет. Каждый бит информации уникален.
Если все сжатые файлы после повторного сжатия уменьшат свои размеры (или будут иметь размеры не больше, чем их родительские), то в какой-то момент размер станет равным 0, что не может быть правдой. Если это правда, нам практически не нужны файловые хранилища.
- Предположим, что каждый файл представлен как строка бит произвольной длины.
- Предположим, что существует алгоритм сжатия, который преобразует каждый файл в выходной файл, длина которого не превышает длину исходного файла, и что по крайней мере один файл будет сжат в выходной файл, который короче исходного файла.
- Пусть M будет наименьшим числом, при котором существует файл F с длиной M бит, который сжимается до чего-то более короткого. Пусть N - длина (в битах) сжатой версии F.
- Поскольку N N такие файлы. Вместе с F это составляет 2 N +1 файлы, которые все сжимаются в один из 2 N файлы длиной N.
- Но 2 N меньше 2 N +1, поэтому по принципу «ящика» должен существовать файл длины N, который одновременно является выходом функции сжатия на двух разных входах. Этот файл не может быть надежно распакован (какой из двух оригиналов должен дать результат?), Что противоречит предположению о том, что алгоритм был без потерь.
- Следовательно, мы должны заключить, что наша исходная гипотеза (что функция сжатия больше не делает файл) обязательно неверна.
Я бы сказал, ты не можешь сжать произвольный двоичные файлы в значительной степени - подумайте об изображениях JPEG, видео x264 и так далее. Тем более, что вы хотите реконструировать ваш исходный файл точно (т.е. побитно) вам понадобится сжатие без потерь. 1
Энтропия эффективно ограничивает производительность сильнейшего возможного сжатия без потерь (или почти без потерь), которое может быть реализовано теоретически с использованием типичного набора или на практике с использованием кодирования Хаффмана, Лемпеля-Зива или арифметического кодирования. (. )
1 Очень сильное «сжатие» изображений JPEG возможно только потому, что некоторая информация отбрасывается (таким образом, что человеческий глаз не может распознать ее с первого взгляда; сжатие с потерями).
Читайте также: