![]() |
ZLib - String komprimieren dekomprimieren
Dieses bezieht sich auf folgenden Beitrag:
Code-Library => Library: Object-Pascal / Delphi-Language => ![]() Ich wollte nur mal vorschlagen, dass es "sinnlos" ist, wenn zuerst der Input-String in einen extra Buffer kopiert wird. Es geht ja auch ohne :zwinker: (erspart rund 33% RAM und ein kleinwenig Rechenzeit)
Delphi-Quellcode:
Uses ZLib;
Function CompressString(Input: String): String; Var Buffer: Pointer; BufSize: Integer; Begin Buffer := nil; Try CompressBuf(Input[1], Length(Input), Buffer, BufSize); SetLength(Result, BufSize); Move(Buffer^, Result[1], BufSize); Finally If Buffer <> nil Then FreeMem(Buffer); End; End; Function DeCompressString(Input: String): String; Var Buffer: Pointer; BufSize: Integer; Begin Buffer := nil; Try DeCompressBuf(Input[1], Length(Input), 0, Buffer, BufSize); SetLength(Result, BufSize); Move(Buffer^, Result[1], BufSize); Finally If Buffer <> nil Then FreeMem(Buffer); End; End; Und wer möchte kann auch noch statt
Delphi-Quellcode:
dieses verwenden
SetLength(Result, BufSize);
Move(Buffer^, Result[1], BufSize);
Delphi-Quellcode:
SetString(Result, Buffer, BufSize);
|
Re: ZLib - String komprimieren dekomprimieren
Ich hab gerade heute morgen noch ne ZLIB gefunden, die gleich Strings komprimieren kann
=> ![]() Die Funktion dazu lautet ZCompressStr |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz