Se você tiver um número (por exemplo, 123456789⏨) como texto, poderá escrevê-lo em uma base diferente (como 21i3v9 na base 36), para compactá- lo como texto (de 9 caracteres a 6).
Se você for mais longe, acaba armazenando-o em binário (4 bytes¹).
Agora, isso funciona porque você começou com um conjunto reduzido [0-9] e mudou para um maior [0-9a-z] e muitos bits de dados não foram utilizados na representação inicial.
Da mesma forma, se sabemos que um arquivo contém apenas letras, podemos compactá-lo facilmente alterando a base. No entanto, se você compactar com conteúdo arbitrário, isso não funcionará (sempre). Você pode compactar (obter saídas menores) para alguns arquivos, mas outros se tornarão maiores, assim como qualquer método de compactação sem perdas , isso é inevitável.
No entanto, ele ainda pode ser útil, por exemplo, um método que comprime bem os textos em inglês, mas aumenta os textos em chinês, pode ser bom o suficiente se você escrever muito mais inglês do que chinês.
¹ Na verdade, você só precisa de 2²⁷ bits, embora atualmente o armazenamento do computador use múltiplos de 8 bits (mas talvez você queira armazenar uma série de números de 2²⁷ bits? ☺).