![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
Имеем строку, запакованную GZIP
Каким образом её можно распаковать? Спасибо. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Весьма информативная строчка
![]() Сходи на torry и скачай компонент для работы с Gzip ;-) |
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
Уже сходил, скачал, спасибо, не помогло
![]() DelphiZLib v.0.2.99 как я понял, он распаковывает только файлы, хотелось бы работать со стримами. Описываю проблему подробнее: в MMP(протокол mailagent`a) rtf-часть сообщения выглядит как:
Если кто-то сталкивался с этим делом, откликнитесь. |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
так сначала надо раскодировать base64, а потом уже пытаться распаковать gzip'ом.
и что все бросились mail-агенты писать?! -------------------- There are always someone smarter than you... |
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
||||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
в JVCL есть вроде компонент и класс, что с потоками(или буферами) может работать...
я его примерно так юзал:
если надо, могу попробовать выдрать необходимое для работы без всей jcl|jvcl -------------------- There are always someone smarter than you... |
|||
|
||||
Snowy |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Почему постоянно нужно тащить в свой всякий хлам с помойки, вместо того, чтобы использовать родные средства? GZip - по сути ZLib в обёртке. Точнее ZLib - компрессия, применяемая в GZip. Добавлено @ 11:54
|
||||
|
|||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
Snowy, да? пасиб, не знал. просто думал в D6 нет его... поискал - есть Zlib.dcu...
кста, там есть TDecompressionStream... Это сообщение отредактировал(а) MetalFan - 20.3.2007, 12:35 -------------------- There are always someone smarter than you... |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Да есть.
Просто лень было проверять на идентичность - взял код, применяемый для распаковки GZip в http. Добавлено @ 14:44 А, ну да. Для распаковки через TDecompressionStream необходимо знать исходный размер несжатых данных. А нам он не известен. |
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
MetalFan, Snowy, бАльшое спасибо
![]() |
|||
|
||||
Igor_thief |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 12.9.2006 Где: Украина Репутация: нет Всего: нет |
VICTAR, а где потом распаковываешь? Из Дельфи программы или ... ? Просто у меня похожая задача и никак не получается запакованую и замаймленую в Дельфи строку разжать в C#.
--------------------
В каждом из нас спит гений, и с каждым днем все крепче ...delphigeek.blogspot.com | www.iskomorokh.com |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Igor_thief, дали же наводку. Создаешь поток TFileStream или TMemoryStream, который будет содержать то что упаковано, затем создаешь TDecompressionStream, извлекаешь в другой TMemoryStream, после чего достаешь данные из base64 (реализаций извлечения из base64 навалом).
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Igor_thief |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 12.9.2006 Где: Украина Репутация: нет Всего: нет |
Alexeis, Читай внимательней то что я написал!
Если бы все делалось в одной программе, то все было бы просто (или даже на одном компе). Но задача куда сложнее. Упаковываться и передаваться по инету должна строка. Задача уже решена! --------------------
В каждом из нас спит гений, и с каждым днем все крепче ...delphigeek.blogspot.com | www.iskomorokh.com |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |