Собственный архиватор
От: aleckstein Россия  
Дата: 12.04.04 16:15
Оценка: :)))
После долгих и мучительных проб и ошибок с использованием сторонних архивов, я понял что проще всего написать собственный архиватор, но когда я взялся за это дело, то понял что в этом вопросе я полный дилетант.
Подскажите, пожалуйста, где можно почитать что-нибудь на эту тему.

13.04.04 08:47: Перенесено модератором из 'C/C++' — ПК
acta non est fabula — представление не окончено
Re: Собственный архиватор
От: ntuser  
Дата: 12.04.04 16:23
Оценка:
Здравствуйте, aleckstein, Вы писали:

A>После долгих и мучительных проб и ошибок с использованием сторонних архивов, я понял что проще всего написать собственный архиватор, но когда я взялся за это дело, то понял что в этом вопросе я полный дилетант.

A>Подскажите, пожалуйста, где можно почитать что-нибудь на эту тему.

непонятно, в чем, собственно, состоит задача... а посмотреть, как это работает, можно здесь, например или поискать еще что-нибудь, в зависимоти от того, что конкретно нужно.
Re: Собственный архиватор
От: aleckstein Россия  
Дата: 12.04.04 16:39
Оценка:
Это все конечно интересно, но мне хотелось бы узнать как вообще данные запоковываются в архив.
acta non est fabula — представление не окончено
Re: Собственный архиватор
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 12.04.04 16:53
Оценка:
Здравствуйте, aleckstein, Вы писали:

A>После долгих и мучительных проб и ошибок с использованием сторонних архивов, я понял что проще всего написать собственный архиватор, но когда я взялся за это дело, то понял что в этом вопросе я полный дилетант.

A>Подскажите, пожалуйста, где можно почитать что-нибудь на эту тему.
Вообщето прекрасная книга "Фундаментальные алгоритмы и структуры данных в Delphi" Бакнелл Джулиан М.
http://www.diasoft.kiev.ua/cgi/webshop.cgi?config=/home/www/htdocs/diasoft/cgi/config.txt&uid=UPTiZgAA1081788380&command=link--ds_materials_set
... << RSDN@Home 1.1.0 stable >>
и солнце б утром не вставало, когда бы не было меня
Re: Собственный архиватор
От: Аноним  
Дата: 12.04.04 18:42
Оценка:
Здравствуйте, aleckstein, Вы писали:

A>После долгих и мучительных проб и ошибок с использованием сторонних архивов, я понял что проще всего написать собственный архиватор, но когда я взялся за это дело, то понял что в этом вопросе я полный дилетант.

A>Подскажите, пожалуйста, где можно почитать что-нибудь на эту тему.

Написать свой архиватор не может быть проще, чем разобраться в существующих...
В чем твоя проблема?
Re: Собственный архиватор
От: Mr. None Россия http://mrnone.blogspot.com
Дата: 13.04.04 03:44
Оценка:
Здравствуйте, aleckstein, Вы писали:

A>После долгих и мучительных проб и ошибок с использованием сторонних архивов, я понял что проще всего написать собственный архиватор, но когда я взялся за это дело, то понял что в этом вопросе я полный дилетант.

A>Подскажите, пожалуйста, где можно почитать что-нибудь на эту тему.

Есть такая очень хорошая библиотека, называется zlib, которая реализует алгоритмы работы zip`а. Посмотри, что это такое и не парься сам .
Если хочешь могу дать пару классов обёрток для неё.
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Re[2]: Собственный архиватор
От: ntuser  
Дата: 13.04.04 04:58
Оценка:
Здравствуйте, Mr. None, Вы писали:

MN>Есть такая очень хорошая библиотека, называется zlib, которая реализует алгоритмы работы zip`а. Посмотри, что это такое и не парься сам .

MN>Если хочешь могу дать пару классов обёрток для неё.

так я же ему уже дал ссылку на "обертки" и примеры использования, а с той странички ссылки ведут дальше, к создателям zlib... но ему такое не подходит: ему нужно, чтобы разжевали и в рот положили, и чтобы все сразу...
Re[3]: Собственный архиватор
От: Mr. None Россия http://mrnone.blogspot.com
Дата: 13.04.04 05:09
Оценка:
Здравствуйте, ntuser, Вы писали:

N>Здравствуйте, Mr. None, Вы писали:


MN>>Есть такая очень хорошая библиотека, называется zlib, которая реализует алгоритмы работы zip`а. Посмотри, что это такое и не парься сам .

MN>>Если хочешь могу дать пару классов обёрток для неё.

N>так я же ему уже дал ссылку на "обертки" и примеры использования, а с той странички ссылки ведут дальше, к создателям zlib... но ему такое не подходит: ему нужно, чтобы разжевали и в рот положили, и чтобы все сразу...


Опа... проглядел .
Но с другой стороны моя обёртка несколько проще — там только два метода у класса: Compress и Extract.. может как раз пойдёт
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Re: Собственный архиватор
От: jazzer Россия Skype: enerjazzer
Дата: 13.04.04 06:49
Оценка: :)
Здравствуйте, aleckstein, Вы писали:

A>После долгих и мучительных проб и ошибок с использованием сторонних архивов, я понял что проще всего написать собственный архиватор, но когда я взялся за это дело, то понял что в этом вопросе я полный дилетант.

A>Подскажите, пожалуйста, где можно почитать что-нибудь на эту тему.

Если не обязательно наличие разархиватора, просто поксорь все байты — любой файл тогда сожмется одного (!) байта
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re: Собственный архиватор
От: dmz Россия  
Дата: 13.04.04 06:49
Оценка: -1
A>После долгих и мучительных проб и ошибок с использованием сторонних архивов,
A>я понял что проще всего написать собственный архиватор, но когда я взялся за это дело,
A>то понял что в этом вопросе я полный дилетант.
A>Подскажите, пожалуйста, где можно почитать что-нибудь на эту тему.

Не вопрос, на самом деле. Жми сначала хафманом (для скорости можешь использовать
предварительно посчитанные словари), потом LZW / LZSS. Получится похуже чем у рара, но в
целом неплохо.
Re[2]: Собственный архиватор
От: Аноним  
Дата: 08.06.04 22:45
Оценка:
Здравствуйте, dmz, Вы писали:


A>>После долгих и мучительных проб и ошибок с использованием сторонних архивов,

A>>я понял что проще всего написать собственный архиватор, но когда я взялся за это дело,
A>>то понял что в этом вопросе я полный дилетант.
A>>Подскажите, пожалуйста, где можно почитать что-нибудь на эту тему.

dmz>Не вопрос, на самом деле. Жми сначала хафманом (для скорости можешь использовать

dmz>предварительно посчитанные словари), потом LZW / LZSS. Получится похуже чем у рара, но в
dmz>целом неплохо.


Ты вообще соображаешь что говоришь ? ты думаешь скорость дюже улучшится используя "предварительно посчитанные словари" ?... а что с данными после хаффмана станет в курсах ? ты бред на выходе получишь который никогда LZSS не сожмёт !
прежде чем советовать убедись что знаешь что либо кроме терминов ...

Ответ прост: самое нетрудное сжать используя LZSS находя повторения с помощтю хэшей и на выходе полностью или частиччно данные жать статическим хаффменом ...

Результат: хорошо помучавшись можно сделать качество на уровне WinZIP но скорость раза в два будет хуже чем у последнего ... хотя опять же можно ещё помучаться ... и может будет а-ля WinZIP но навряд ли лучше ...

В завершение: а чем вас aleckstein собственно не устраивают сторонние архиваторы ?
Re[3]: Собственный архиватор
От: Аноним  
Дата: 09.06.04 07:25
Оценка: +1
Попробую "углубить" задачу, может немного не относящуюся к этой. Есть некоторый девай (мобильный), который получает поток оцифрованных данных, и было бы хорошо эти данные сжимать. Величина сжатия не самый важный параметр главной скорость т.к. девайс мобильный и быстродействие его небольшое.
Какие будут предложения.
Re[2]: Собственный архиватор
От: Дмитрий Наумов  
Дата: 09.06.04 12:18
Оценка:
Здравствуйте, aleckstein, Вы писали:

A>Это все конечно интересно, но мне хотелось бы узнать как вообще данные запоковываются в архив.


Они (данные) просто уходят на покой...
... << RSDN@Home 1.1.3 beta 2 >>
Re: Собственный архиватор
От: Дмитрий Наумов  
Дата: 09.06.04 12:19
Оценка:
Здравствуйте, aleckstein, Вы писали:

A>После долгих и мучительных проб и ошибок с использованием сторонних архивов, я понял что проще всего написать собственный архиватор, но когда я взялся за это дело, то понял что в этом вопросе я полный дилетант.

A>Подскажите, пожалуйста, где можно почитать что-нибудь на эту тему.

Кто бы меня научил так выводы делать...
... << RSDN@Home 1.1.3 beta 2 >>
Re: Собственный архиватор
От: Аноним  
Дата: 09.06.04 13:25
Оценка:
Здравствуйте, aleckstein, Вы писали:

A>После долгих и мучительных проб и ошибок с использованием сторонних архивов, я понял что проще всего написать собственный архиватор, но когда я взялся за это дело, то понял что в этом вопросе я полный дилетант.

A>Подскажите, пожалуйста, где можно почитать что-нибудь на эту тему.

Crypto++
Re: Собственный архиватор
От: Plague Россия  
Дата: 10.06.04 08:11
Оценка:
Здравствуйте, aleckstein, Вы писали:

A>Подскажите, пожалуйста, где можно почитать что-нибудь на эту тему.


Лучше возьми ZLIB.

Паковка:
int compress2(unsigned char* outbuffer, usigned long* out_len, unsigned char* inbuffer, usigned long in_len, int quality);
/*
    outbuffer - результирующий буфер (то, куда кладем сжатое)
    out_len - длина результирующего буфера не менее in_len * (in_len / 1000) + 12
    inbuffer - исходный буфер (то, что сжимаем)
    in_len - длина исходного буфера
    quality - качество сжатия: 0-9; 0 - без сжатия, 1 - наибыстрейшее, 9 - наилучшее, -1 - по умолчанию;
return: 
    out_len - длина результата в результирующем буфере, которую надо запомнить в своем формате файла для передачи uncompress()
    Z_OK - без ошибок
    Z_MEM_ERROR - нехватает памяти
    Z_BUF_ERROR - кончился результирующий буфер*/

Распаковка:
int uncompress(unsigned char* outbuffer, usigned long *out_len, unsigned char* inbuffer, usigned long in_len);
/*
    outbuffer - результирующий буфер (то, куда кладем распакованное)
    out_len - длина результирующего буфера, должна быть не менее размера результата, 
                        например запоминаться в твоем файле при использовании compress2, и передаваться сюда
    inbuffer - исходный буфер (то, что разжимаем)
    in_len - длина исходного буфера
return: 
    out_len - длина результата в результирующем буфере
    Z_OK - без ошибок
    Z_MEM_ERROR - нехватает памяти
    Z_BUF_ERROR - кончился результирующий буфер
    Z_DATA_ERROR - входные данные повреждены*/
... << RSDN@Home 1.1.3 stable >>
Re: Собственный архиватор
От: eNGy  
Дата: 15.06.04 01:54
Оценка:
Здравствуйте, aleckstein, Вы писали:

A>Подскажите, пожалуйста, где можно почитать что-нибудь на эту тему.



весьма содержательный сайт про, всяко-разно, сжатие http://www.compression.ru/
Re: Собственный архиватор
От: Аноним  
Дата: 15.06.04 09:26
Оценка:
Здравствуйте, aleckstein, Вы писали:

A>После долгих и мучительных проб и ошибок с использованием сторонних архивов, я понял что проще всего написать собственный архиватор, но когда я взялся за это дело, то понял что в этом вопросе я полный дилетант.


Если ты полный дилетант, то как ты смог прийти к выводу, что проще всего написать собственный архиватор?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.