Contexte
Sur les 256 caractères possibles qu'un octet peut représenter, seuls quelques-uns d'entre eux sont utilisés dans la plupart des cas. Ne pourrions-nous en tirer quelque avantage et réduire la taille de nos fichiers texte en éliminant le besoin de lettres rarement utilisées?
De nombreuses lettres n'ajoutent aucune valeur dans la plupart des situations et peuvent être remplacées par des lettres plus courantes. Par exemple, un «L» minuscule, un «I» majuscule et le nombre «1» sont presque identiques dans la plupart des situations, afin de pouvoir être consolidés.
Les lettres majuscules étant peu nécessaires, elles peuvent donc être supprimées. Le programme de décompression / affichage pourrait même automatiquement mettre en majuscule la première lettre de chaque phrase, les noms communs, etc.
Règles
Les candidatures seront jugées sur:
- ratio de compression
- lisibilité après décompression
Les entrées seront testées par rapport à la version en texte brut de cet article: http://en.wikipedia.org/wiki/Babbage et un article de BBC News sélectionné au hasard .
Des points supplémentaires seront attribués pour; en préservant toute majoration, en embellissant après la décompression (c.-à-d. capitaliser des phrases, etc.).
Les langues
- Tous ceux que vous aimez, mais doivent facilement compiler (ou être interprétés) sur une boîte de base * nix.
la source
main = interact (\x -> take 90 x ++ " yada yada yada")
Réponses:
Perl
Très inefficace et a de mauvais taux. Requiert
/usr/share/dict/words
.Compresseur
Décompresseur
la source
Perl, 0 caractère
Taux de compression de l'infini, bien qu'il ne soit pas lisible après décompression, il perdra donc quelques marques.
la source
Bash, 5 caractères
Mon entrée paresseuse qui pourrait bien gagner:
Sans perte, il préserve donc parfaitement la lisibilité et obtient toutes les notes supplémentaires! Le taux de compression sur le html Babbage est de 4,79x (153804 à 32084 octets).
la source