
Komprimierung, Dekompression und Codierungsbibliothek in Base64.
In der Delphi -Sprache implementiert, verwendet es das Konzept der fließenden Schnittstelle, um die Verwendung der Bibliothek zu steuern.
Bibliothek entwickelt mit nativen Komprimierung und Dekompressionsklassen (ZLIB) und Delphi Base64 -Codierung.
Base64 : Basiskomprimierung und Codierungsklasse und Basiskodierung sowie Dekodierung und Dekompression.
Data : Datenkomprimierung und Dekompressionsklasse.
Komprimierungsalgorithmus implementiert:
DeflateGZipHINWEIS: Funktionen geben immer einen MD5 vor dem Codieren und MD5 nach dem Codieren zurück, mit denen sichergestellt werden kann, dass ein bestimmter Text korrekt dekodiert und mit dem vor dem Codieren generierten MD5 validiert wurde.
Komprimierung und Dekompressionsgerüst mit der Basis64 -Codierungsoption.
Textkomprimierung:
Bildkomprimierung
Bitmap
PNG, JPG
Diese Dateitypen haben bereits einen Komprimierungsprozess in ihrer Erstellung erlitten, das Ergebnis einer neuen Komprimierung ist nicht so signifikant.
In der Demo -App gibt es ein Beispiel für eine Format -PNG -Bildkomprimierung von insgesamt 42.436 Bytes:
Komprimierungsalgorithmus: Deflate
Verwenden des Chefs (Abhängigkeitsmanager für Delphi) können die Bibliothek automatisch installiert werden.
boss install github.com/antoniojmsjr/ZLibFramework
Projekt> Optionen> Delphi Compiler> Ziel> Alle Konfigurationen> Suchpfad
..ZLibFrameworkSource
uses ZLibFramework, ZLibFramework.Types; var
lResultCompress: IZLibResult;
lMsgError: string;
begin
try
lResultCompress := TZLib
.Base64
.Compress
.Deflate
.Level(TZLibCompressionLevelType.Max)
.Text( ' 1234567890 ' );
Application.MessageBox(PWideChar(lResultCompress.TextUTF8), ' C O M P R E S S Ã O ' , MB_OK + MB_ICONINFORMATION);
except
on E: EZLibException do
begin
lMsgError := Concat(lMsgError, Format( ' Mode: %s ' , [E.Mode.AsString]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Operation: %s ' , [E.Operation.AsString]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Algorithm: %s ' , [E.Algorithm.AsString]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Encoding Fail: %s ' , [BoolToStr(E.EncodingFail, True)]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Message: %d ' , [E.Message]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Hint: %s ' , [E.Hint]));
Application.MessageBox(PWideChar(lMsgError), ' A T E N Ç Ã O ' , MB_OK + MB_ICONERROR);
end ;
on E: Exception do
begin
Application.MessageBox(PWideChar(E.Message), ' A T E N Ç Ã O ' , MB_OK + MB_ICONERROR);
end ;
end ;
end ;
ZLibFramework ist kostenlos und Open-Source-Software unter dem lizenziert