Antecedentes
De los 256 caracteres posibles que puede representar un byte, solo algunos de estos se usan en la mayoría de las circunstancias. ¿No podríamos aprovechar esto de alguna manera y hacer que nuestros archivos de texto sean más pequeños al eliminar la necesidad de las letras raramente utilizadas?
Muchas letras no agregan ningún valor en la mayoría de las situaciones, y pueden reemplazarse por letras más comunes. Por ejemplo, una "L" en minúscula, una "I" mayúscula y el número "1" parecen casi idénticos en la mayoría de las situaciones, por lo que pueden consolidarse.
Hay poca necesidad de letras mayúsculas, por lo que se pueden prescindir de ellas. El programa de descompresión / visualización podría incluso poner en mayúscula automáticamente la primera letra de cada oración, nombres comunes, etc.
Reglas
Las entradas serán juzgadas por:
- índice de compresión
- legibilidad después de la descompresión
Las entradas se probarán con la versión de texto plano de este artículo: http://en.wikipedia.org/wiki/Babbage y un artículo de BBC News seleccionado al azar .
Se otorgarán marcas adicionales por; preservar cualquier marcado, embellecer después de la descompresión (es decir, poner en mayúscula las oraciones, etc.).
Idiomas
- Cualquiera que desee, pero debe compilar fácilmente (o ser interpretado) en un cuadro básico * nix.
fuente
main = interact (\x -> take 90 x ++ " yada yada yada")
Respuestas:
Perl
Muy ineficiente y tiene malas tarifas. Requiere
/usr/share/dict/words
.Compresor
Descompresor
fuente
Perl, 0 caracteres
Relación de compresión del infinito, aunque no tan legible después de la descompresión, por lo que perderá algunas marcas.
fuente
Bash, 5 caracteres
Mi entrada perezosa que podría ganar:
¡Sin pérdida, por lo que conserva la legibilidad perfectamente y obtiene todas las marcas adicionales! La relación de compresión en Babbage html es 4.79x (153804 a 32084 bytes).
fuente