LIRE(fichierArgument,Buffer);
ECRIRE(fichierResultat,Buffer);
LIRE(fichierArgument,Buffer1);
DEPLACEMENT(Buffer2,Buffer1);
ECRIRE(fichierResultat,Buffer2);
Il y a plusieurs façons de programmer la fonction 'DEPLACEMENT(...)' :
LIRE(fichierArgument,Buffer1);
COMPRESSER(Buffer2,Buffer1);
ECRIRE(fichierResultat,Buffer2);
Où 'COMPRESSER(...)' désigne une fonction qui compte le nombre R de répétitions successives d'un même caractère 'K'.
Si R est strictement inférieur à 4, le caractère 'K' est simplement répété R fois comme
dans le fichier à compresser. Dans le cas contraire, la chaîne 'KKKK' suivie d'un octet contenant
R-4 en binaire est générée :
K --> K
KK --> KK
KKK --> KKK
KKKK --> KKKK[0]
KKKKK --> KKKK[1]
KKKKKK --> KKKK[2]
KKKKKKK --> KKKK[3]
KKKKKKKK --> KKKK[4]
KKKKKKKKK --> KKKK[5]
(...)
(où '[n]' représente un octet contenant la valeur 'n' en binaire).
Evidemment R-4 ne peut excéder 255 et lorsque cela se produit,
le compactage précédent est répété autant de fois que nécessaire.
K --> K
KK --> KK
KKK --> KKK
KKKK --> KKKK[0]
KKKKK --> KKKK[1]
KKKKKK --> KKKK[2]
KKKKKKK --> KKKK[3]
KKKKKKKK --> KKKK[4]
KKKKKKKKK --> KKKK[5]
(...)
(où '[n]' représente un octet contenant la valeur 'n' en binaire).
Evidemment R-4 ne peut excéder 255 et lorsque cela se produit,
le compactage précédent est répété autant de fois que nécessaire.





