![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 08.10.2009
Сообщений: 112
|
![]()
Очень интересно, как сжимаются файлы в архивах. Вообще есть предположение, что похожие сегменты файла сокращаются записью о их расположении. Например файл "978888888260" можно сократить до "97[8х7]260". Но вот как прочитать сам файл, а потом переписать его в сжатом виде? Я могу реализовать сжатие текстовых документов на этой основе, но и тут возникнут некоторые проблемы, связанные с количеством вариантов расположения похожих сегментов. Но это фигня. Я не знаю как прочитать и переписать другие файлы, не текстовые. Можно ли их открывать функциями assignfile и readln? Можно ли быстрее читать и записывать, а то кажется эти функции медленные?
И ещё: сколько примерно инструкций для сжатия есть в технологии RAR? Всмысле сколько RAR знает вариантов сокращения: ведь "7745745783433333" вопервых можно сократить "[7:0,1,4,7][5:3,6][4:2,5,10]33333", а во вторых заменить повторы "3" ещё одним вариантом: "[7:0,1,4,7][5:3,6][4:2,5,10][3x5]".
procedure life; for years := 1 to 11 do gotoschool(normal); woman := TMan.add; childrens.add(TMans); problems.add(fuck); woman.destroy; END.
|
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]()
Алгоритмов сжатия много. Причем для разных форматов могут использоваться разные.
Про РАР: Цитата:
|
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
читается все это бинарно, через File(тип данных) BlockWrite/BlockRead
это именно паскалевское. Дельфийское это TFileStream(или прочие потоки) а вообще АПИ ![]() CreateFile,ReadFile,WriteFile,Close Handle Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#4 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
Для справки. RAR можно официально бесплатно разжимать с помощью UnRAR библиотеки.
А вообще гугли алгоритмы сжатия, Хаффмана и др. В Википедии есть полный список.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 08.10.2009
Сообщений: 112
|
![]()
ух ты спасибо за инфу
procedure life; for years := 1 to 11 do gotoschool(normal); woman := TMan.add; childrens.add(TMans); problems.add(fuck); woman.destroy; END.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Реализация фрактальных объектов в Delphi | Кос | Помощь студентам | 2 | 04.04.2010 15:06 |
Реализация многопоточностив Delphi | BloodMaX | Помощь студентам | 3 | 20.03.2010 19:21 |
реализация пути эйлера на Delphi | J.K. | Помощь студентам | 4 | 12.06.2009 21:21 |
[Delphi] TQuery и реализация запроса. | MaGWaY_minsk | Помощь студентам | 2 | 12.05.2009 00:31 |
Реализация BlowFish на Delphi | Unconnected | Общие вопросы Delphi | 2 | 19.02.2009 12:52 |