
การบีบอัดการบีบอัดการบีบอัดและการเข้ารหัสใน Base64
นำมาใช้ในภาษา Delphi ใช้แนวคิดของอินเทอร์เฟซที่คล่องแคล่วเพื่อเป็นแนวทางในการใช้ห้องสมุด
ห้องสมุดที่พัฒนาขึ้นโดยใช้คลาสการบีบอัดแบบดั้งเดิมและคลาสการบีบอัด (ZLIB) และการเข้ารหัส Delphi Base64
Base64 : การบีบอัดฐานและคลาสการเข้ารหัสและการถอดรหัสฐานและการถอดรหัสและการบีบอัด
Data : การบีบอัดข้อมูลและคลาสการบีบอัด
อัลกอริทึมการบีบอัดใช้:
DeflateGZipหมายเหตุ: ฟังก์ชั่นมักจะส่งคืน MD5 ก่อนการเข้ารหัสและ MD5 หลังจากการเข้ารหัสซึ่งสามารถใช้เพื่อให้แน่ใจว่าข้อความเฉพาะได้รับการถอดรหัสอย่างถูกต้องและตรวจสอบความถูกต้องกับ MD5 ที่สร้างขึ้นก่อนการเข้ารหัส
กรอบการบีบอัดและการบีบอัดด้วยตัวเลือกการเข้ารหัส Base64
การบีบอัดข้อความ:
การบีบอัดภาพ
บิตแมป
png, jpg
ประเภทไฟล์เหล่านี้ได้รับความเดือดร้อนจากกระบวนการบีบอัดในการสร้างแล้วผลลัพธ์ของการบีบอัดใหม่นั้นไม่สำคัญนัก
ในแอพสาธิตมีตัวอย่างของรูปแบบการบีบอัดรูปภาพ PNG รวม 42,436 ไบต์:
อัลกอริทึมการบีบอัด: deflate
การใช้ บอส (ตัวจัดการการพึ่งพาสำหรับ Delphi) เป็นไปได้ที่จะติดตั้งไลบรารีโดยอัตโนมัติ
boss install github.com/antoniojmsjr/ZLibFramework
โครงการ> ตัวเลือก> Delphi Compiler> เป้าหมาย> การกำหนดค่าทั้งหมด> เส้นทางการค้นหา
..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 เป็นซอฟต์แวร์ฟรีและได้รับอนุญาตจากโอเพนซอร์ซภายใต้