forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=124)
-   -   Lib_gzip: только извлечение (http://forum.boolean.name/showthread.php?t=6184)

Piligrim 31.07.2008 01:29

Lib_gzip: только извлечение
 
Вложений: 1
Библиотека позволяет открывать GZIP архивы.
Использование:
function ungzip(r : resource) : resource;
производит распаковку потока на лету, исходный ресурс можно получить при открытии файла с помощью JSR75i функцией get_stream.
function read_string(r : resource) : string;
чтение строки.
PS: если вы используете в программе ресурсы, то для чтения строк из архива можно использовать стандартную функцию ReadLine(r : resource): string
PSS: не забываем подключать GZIPInputStream как ресурс

01.08.2008
+function string2stream(s : string) : resource; преобразует строку в поток, который затем можно распаковать

Ghost_Russia 31.07.2008 08:32

Re: Lib_gzip: только извлечение
 
библеотеки Lib_gzip.class нету в архиве:(

Piligrim 31.07.2008 10:07

Ответ: Lib_gzip: только извлечение
 
прошу прощения, перезалил в первый пост.

Skythrone 31.07.2008 14:39

Ответ: Lib_gzip: только извлечение
 
Спасибо, pilgrim!

Есть вопросы, на которые я вот уже 4 часа не могу найти ответ. Решил обратиться сюда.

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

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

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

Piligrim 01.08.2008 00:48

Ответ: Lib_gzip: только извлечение
 
На оба вопроса ответ - да :)
Ответ от http сервера можно получить в виде потока и строку можно представить в виде потока. Сделаю.

Piligrim 01.08.2008 11:20

Ответ: Lib_gzip: только извлечение
 
Добавил получение потока от http в Lib_web. И обновил эту библиотеку.

odd 07.08.2008 08:13

Ответ: Lib_gzip: только извлечение
 
А можно открывать запароленные архивы? Просто можно так защищать свои ресурсы от посторонних глаз.

Piligrim 07.08.2008 10:28

Ответ: Lib_gzip: только извлечение
 
такой реализации я не видел.

ViNT 07.08.2008 15:30

Ответ: Lib_gzip: только извлечение
 
А GZIP разве шифрование поддерживает?

impersonalis 10.08.2008 02:31

Ответ: Lib_gzip: только извлечение
 
gzip (GNU zip) это утилита сжатия информации, работает с файлами с расширением *.gz, для декомпрессии используется библиотека zlib.dll.
В ZIP поддерживается шифрование каждого файла в архиве отдельным паролем

odd 12.10.2009 21:13

Ответ: Lib_gzip: только извлечение
 
А как мне распаковать строку, передаваемую с сервера в сжатом формате?

ViNT 12.10.2009 22:02

Ответ: Lib_gzip: только извлечение
 
Думаю, с использованием
Цитата:

Сообщение от Piligrim (Сообщение 83407)
01.08.2008
+function string2stream(s : string) : resource; преобразует строку в поток, который затем можно распаковать


odd 12.10.2009 22:32

Ответ: Lib_gzip: только извлечение
 
Да пробовал, всё равно ошибка вылетает.
Да и уже кучу библиотек для распаковки перепробовал, а ни одна не пашет. :"(

Piligrim 13.10.2009 11:34

Ответ: Lib_gzip: только извлечение
 
Ты про HTTP ответ в gzip?

odd 13.10.2009 13:25

Ответ: Lib_gzip: только извлечение
 
Цитата:

Сообщение от Piligrim (Сообщение 121437)
Ты про HTTP ответ в gzip?

Да. Некий сайт X выдает текст в сжатом gzip-ом виде. Мне этот текст нужно распаковать и отобразить на экране. С отображением проблем нет, а вот с распаковкой вылетают ошибки внутри библиотеки распаковки. Я уже перепробовал штуки 4 разных распаковщиков и ни один не работает. Я просто в отчаянии.


Часовой пояс GMT +4, время: 11:47.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot