Kann leider nicht in einen Ansistring hineinkomprimieren, weil die Daten im Speicher in einem Array hängen, auf den alle möglichen Funktionen angewendet werden die nur mit WideStrings funktionieren. Wäre entweder viel Gefummel die AnsiString kompatibel zu machen, oder ich müsste einen Wrapper drin haben der bei Zugriff auf das Element aus dem AnsiString einen WideString macht.
Die
ZLib komprimiert mir direkt von WideString -> WideString (sind dann aus 60 KBytes -> 14 KBytes, nach Umwandlung auf AnsiString 11 KBytes).
Edit: Wenn ich statt der UTF8 Konvertierung AnsiString() nehme funktioniert es auch und statt 11 sind es dann 9 KBytes.
Bleibt noch die Frage ob Base85 möglich ist. So wie es ausschaut sollte es mit Z85 funktionieren, jedoch nicht mit ASCII85. Finde leider keine Z85 Implementierung in Delphi.
ASCII85 hab ich hier gefunden:
http://codeverge.com/embarcadero.del...decode/1054817