Текущий архив: 2005.12.25;
Скачать: CL | DM;
Вниз
gzip и zlib Найти похожие ветки
← →
Morgoth (2005-09-12 08:55) [0]Добрый день!
Я обращаюсь из своей программы к скрипту на php, он возвращает мне строку, сжатую с помощью gzip, я пытаюсь ее разжать с помощью функций ZLib, но постоянно получаю Data Error.
Может кто сталкивался с такой проблемой и может что-нибудь подсказать?
← →
programania © (2005-09-13 04:30) [1]http://programania.com/gzio.zip 99kb
← →
SergP © (2005-09-13 08:52) [2]
> Morgoth (12.09.05 08:55)
> Добрый день!
> Я обращаюсь из своей программы к скрипту на php, он возвращает
> мне строку, сжатую с помощью gzip, я пытаюсь ее разжать
> с помощью функций ZLib, но постоянно получаю Data Error.
> Может кто сталкивался с такой проблемой и может что-нибудь
> подсказать?
Я сталкивался... но обошел проблему таким образом:
Я на сервере сжимаю не gzencode() а функцией gzcompress()
тогда в клиенте разжимаю так:
function Unpack(inpStr:string):string;
var
OutBuf: Pointer;
OutBytes: Integer;
outstream:TStringStream;
begin
OutStream:=TStringStream.create("");
OutBuf := nil;
try
try
DecompressBuf(pointer(InpStr), length(InpStr), 0, OutBuf, OutBytes);
outStream.Write(OutBuf^, OutBytes);
finally
if OutBuf <> nil then FreeMem(OutBuf);
end;
outStream.Position := 0;
Result:=outstream.DataString;
finally
OutStream.Free;
end;
end;
← →
SergP © (2005-09-13 09:13) [3]Разумеется что это применимо только если серверная часть твоя.
← →
Slym © (2005-09-13 09:57) [4]Смотри исходники Indy там есть такое
← →
Slym © (2005-09-13 10:00) [5]IdCompressorZLibEx
← →
Morgoth (2005-09-14 13:25) [6]серверная часть моя, я тоже пробовал gzcompress(), но ошибка оставалась.
а DecompressBuf нету, версия наверное старая, попробую новую поискать или исходники Indy посмотреть
всем спасибо за подсказку
← →
SergP. (2005-09-16 07:58) [7]
> Morgoth (14.09.05 13:25) [6]
> серверная часть моя, я тоже пробовал gzcompress(), но ошибка
> оставалась.
> а DecompressBuf нету, версия наверное старая, попробую новую
> поискать или исходники Indy посмотреть
> всем спасибо за подсказку
Ну у меня zlib тот, который шел с d6... так там есть DecompressBuf
И еще... А ты на всякий случай сохрани получаемые данные в файл а потом посмотри их... Может там что-то не то...
Страницы: 1 вся ветка
Текущий архив: 2005.12.25;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.049 c