A tarefa desse desafio é a seguinte:
Escreva um programa que leia um arquivo de tamanho razoável (digamos <16 MB) do stdin ou de qualquer outro lugar (como quiser, mas não deve ser codificado) e coloque a saída compactada no stdout. A saída deve ser um arquivo compactado gzip válido e, se o arquivo compactado for executado através do gunzip, deverá render exatamente o mesmo arquivo de antes.
Regras
- A linguagem de programação usada deve ser conhecida antes do início desta competição
- A pontuação do seu programa é o número de caracteres do código fonte ou do programa montado (o que for menor)
- Você não tem permissão para usar qualquer tipo de bibliotecas de compactação existentes.
- Diverta-se!
code-golf
compression
FUZxxl
fonte
fonte
Respostas:
C # (534 caracteres)
Muito mais legível:
Comentários:
Espera o caminho para o arquivo como o primeiro argumento da linha de comando.
O arquivo de saída é o arquivo de entrada +
.gz
.Eu não estou usando nenhuma biblioteca para fazer o gzip, deflate ou CRC32. Está tudo lá.
Este "compressor" aumenta o tamanho do arquivo em um fator de 6. Mas está no formato gzip válido!
Testado usando o GNU gunzip e o WinRAR.
fonte