Por que os dados codificados em base64 são tão ruins?

Recentemente, eu estava compactando alguns arquivos e notei que os dados codificados em base64 parecem compactar muito mal. Aqui está um exemplo:

Arquivo original:429,7 MiBcomprimir viaxz -9:
13,2 MiB / 429,7 MiB = 0,031 4,9 MiB/s 1:28base64 e comprima viaxz -9:
26,7 MiB / 580,4 MiB = 0,046 2,6 MiB/s 3:47base64 o arquivo xz compactado original:
17,8 MiB quase sem tempo = o esperado1.33x aumento de tamanho

Então, o que pode ser observado é o seguinte:

xz comprime muito bem ☺dados codificados em base64 não compactam bem, são 2 vezes maiores que o arquivo compactado não codificadobase64-then-comprimir é significativamente pior e mais lento quecompress-then-base64

Como isso pode ser? O Base64 é um algoritmo reversível e sem perdas. Por que isso afeta tanto a compactação? (Eu tentei com o gzip também, com resultados semelhantes).

Eu sei que não faz sentidobase64-then-comprimir um arquivo, mas na maioria das vezes não se tem controle sobre os arquivos de entrada, e eu pensaria que, já que a densidade real das informações (ou o que for chamado) de um arquivo codificado em base64 seria quase idêntica à não codificada e, portanto, ser igualmente compressível.

questionAnswers(3)

yourAnswerToTheQuestion