Почему данные в кодировке base64 сжимаются так плохо?

Недавно я сжимал некоторые файлы и заметил, что данные в кодировке base64 сжимаются очень плохо. Вот один пример:

Исходный файл:429,7 МиБсжимать черезxz -9:
13,2 MiB / 429,7 MiB = 0,031 4,9 MiB/s 1:28base64 это и сжимать черезxz -9:
26,7 MiB / 580,4 MiB = 0,046 2,6 MiB/s 3:47base64 оригинальный сжатый файл xz:
17,8 MiB почти без времени = ожидаемый1.33x увеличение в размере

Итак, что можно наблюдать, так это:

xz сжимает действительно хорошо ☺Данные в кодировке base64 плохо сжимаются, они в 2 раза больше, чем сжатые файлы без кодированияbase64-то-компресс значительно хуже и медленнее, чемсжать-то-base64

Как это может быть? Base64 - это обратимый алгоритм без потерь, почему он так сильно влияет на сжатие? (Я тоже пробовал с gzip, с похожими результатами).

Я знаю, что нет смыслаbase64-то-компресс файл, но большую часть времени никто не может контролировать входные файлы, и я бы подумал, что, поскольку фактическая плотность информации (или как она там называется) файла в кодировке base64 будет почти идентична -кодированный вариант, и, таким образом, может быть сжимаем аналогично

Ответы на вопрос(2)

Ваш ответ на вопрос