
Bibliothèque de compression, de décompression et de codage dans la base64.
Implémenté dans le langage Delphi, il utilise le concept d'interface fluide pour guider l'utilisation de la bibliothèque.
Bibliothèque développée à l'aide de classes de compression et de décompression natives (ZLIB) et de codage Delphi Base64.
Base64 : compression de base et classe de codage et décodage et décodage et décodage de base.
Data : Classe de compression et de décompression des données.
Algorithme de compression implémenté:
DeflateGZipRemarque: Les fonctions renvoient toujours un MD5 avant le codage et MD5 après le codage, qui peut être utilisé pour s'assurer qu'un texte particulier a été décodé correctement et valider avec le MD5 généré avant le codage.
Framework de compression et de décompression avec l'option de codage Base64.
Compression de texte:
Compression d'image
Bitmap
PNG, JPG
Ces types de fichiers ont déjà subi un processus de compression dans leur création, le résultat d'une nouvelle compression n'est pas si significatif.
Dans l'application de démonstration, il existe un exemple de compression d'image PNG au format, totalisant 42 436 octets:
Algorithme de compression: dégonfler
En utilisant le boss (Dependency Manager pour Delphi), il est possible d'installer automatiquement la bibliothèque.
boss install github.com/antoniojmsjr/ZLibFramework
Projet> Options> Compiler Delphi> Target> Toutes les configations> Chemin de recherche
..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 est gratuit et un logiciel open source sous licence