Snappy (
https://github.com/google/snappy) compression and decompression unit:
https://github.com/Xelitan/Snappy-Compression-Decompression-for-Delphi-Lazarus/License: MIT
var F,S: TFileStream;
begin
F := TFileStream.Create('test.txt', fmOpenRead);
S := TFileStream.Create('test2.snap', fmCreate);
Snappy(F, S);
F.Free;
S.Free;
F := TFileStream.Create('test2.snap', fmOpenRead);
S := TFileStream.Create('test22.txt', fmCreate);
UnSnappy(F, S);
F.Free;
S.Free;
end;
ShowMessage(UnSnappy(Snappy('Test')));
var Data: array of Byte;
Size: Integer;
OutData, OutData2: TBytes;
Res: Boolean;
begin
Res := Snappy(@Data[0], Size, OutData); //or @Data[1] is Data is String
Res := UnSnappy(@OutData[0], Length(OutData), OutData2);