Bonjour les gens
J'ai écris ce petit bout de code pour compresser (enfin je le croyais) une chaîne de caractères.
Elle fonctionne mais si je passe en entrée le classique "Bonjour le monde" qui fait 16 caractères, ça me renvoie une chaîne compressée de 33 caractères.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 function Compressed2(const ASrc: string): string; var vDest: TStringStream; vComp: TCompressionStream; begin try vDest := TStringStream.Create(); vComp := TCompressionStream.Create(TCompressionLevel.clMax, vDest); vComp.Write(@ASrc[1], Length(ASrc) * sizeof(char)); finally FreeAndNil(vComp); vDest.Seek(0, 0); Result := vDest.DataString; FreeAndNil(vDest); end; end;
Donc, y'a un truc qui m'échappe mais je ne vois pas quoi :-( (à part que 33 c'est 2 * 16 + 1 mais c'est limité comme remarque)
Partager