Also zu allererstmal die Frohebotschaft, dass es nun endlich funktioniert! Ich habe vorher immer mit dem TStringStream gearbeitet, statt TMemoryStream, und das hat irgendwie nicht so funktioniert, wie ich mir das vorgestellt habe. Aber so, wie du es beschrieben hast, klappt es auch bei mir.
Nun aber zum Thema AnsiString und Binärdaten etc.: wenn das ganze Probleme mit Codepages usw. geben kann, wieso arbeiten dann die entsprechenden Kompressionsfunktionen mit den gleichen Datentypen?
Delphi-Quellcode:
{*****************************************************************************
* GZCompressStr *
* *
* pre-conditions *
* s = uncompressed data string *
* fileName = filename *
* comment = comment *
* dateTime = date/time *
* *
* return *
* compressed data string in gzip format *
*****************************************************************************}
function GZCompressStr(const s: String; const fileName,
comment: AnsiString; dateTime: TDateTime): AnsiString; overload;
function GZCompressStr(const s: String): AnsiString; overload;
Es wird ein ganz normaler String übergeben, der mit gzip komprimiert werden soll, und man erhält anschließend einen komprimierten AnsiString im gzip-Format, der ja auch nichts anderes als Binärdaten enthält, oder?!? Wo liegt der Denkfehler?
Aber erstmal Danke, dass du mir da auf die Sprünge geholfen hast, nun geht es endlich so, wie ich mir das vorgestellt habe!!!