
Perpustakaan kompresi, dekompresi dan pengkodean di base64.
Diimplementasikan dalam bahasa Delphi, ia menggunakan konsep antarmuka yang lancar untuk memandu penggunaan perpustakaan.
Perpustakaan dikembangkan menggunakan kelas kompresi dan dekompresi asli (ZLIB) dan pengkodean Delphi Base64.
Base64 : Kompresi dasar dan kelas pengkodean dan decoding dan decoding dan dekompresi.
Data : Kelas Kompresi dan Dekompresi Data.
Algoritma kompresi diimplementasikan:
DeflateGZipCatatan: Fungsi selalu mengembalikan MD5 sebelum pengkodean dan MD5 setelah pengkodean, yang dapat digunakan untuk memastikan bahwa teks tertentu telah didekodekan dengan benar dan divalidasi dengan MD5 yang dihasilkan sebelum pengkodean.
Kerangka kerja kompresi dan dekompresi dengan opsi pengkodean Base64.
Kompresi Teks:
Kompresi gambar
Bitmap
Png, jpg
Jenis file ini telah menderita proses kompresi dalam penciptaannya, hasil kompresi baru tidak begitu signifikan.
Di aplikasi demo, ada contoh kompresi gambar format png, total 42.436 byte:
Algoritma kompresi: mengempis
Menggunakan bos (Manajer Ketergantungan untuk Delphi) dimungkinkan untuk menginstal perpustakaan secara otomatis.
boss install github.com/antoniojmsjr/ZLibFramework
Proyek> Opsi> Delphi Compiler> Target> Semua Konfigasi> Path Path
..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 gratis dan perangkat lunak sumber terbuka yang dilisensikan di bawah