Recentemente, descobri uma versão muito mais eficiente do base, chamada Ascii85 (ou Base85) e, como visto, é muito mais eficiente em termos de armazenamento do que, digamos, Base64 ou Uuencode :
Isso está em Base85:
- Olá =
BOu!rDZ
Isso está em Base64:
- Olá =
SGVsbG8=
Então, eu queria saber se é possível transformar arquivos em Base85 e se é possível criar URLs de dados a partir dos códigos de arquivo Base85. Nesse caso, isso revolucionaria minha plataforma de codificação e faria com que essas enormes fontes de arquivos Base64 diminuíssem muito.
Se acima for possível, existe um criador de URL de dados automatizado para isso?
Sim. Mas se você for armazená-los como arquivos, a maneira mais eficiente de codificá-los é não codificá-los.
Não. Base64 é a única codificação suportada para
data:
URLs -- ela é definida como um caso especial na RFC 2397 .Claro que sim. Conhecemos a maneira de codificar e decodificar cada uma dessas codificações, para que os dados base64 possam ser convertidos novamente em dados normais, que por sua vez serão convertidos em base85
Observe também que existem outras codificações mais eficientes do que base85, com velocidade de codificação/decodificação mais rápida. Por exemplo, base91 pode ser codificado/decodificado com uma tabela de pesquisa e base122 é uma codificação binária pura. OTOH base85 sempre precisa de multiplicação/divisão para codificação/decodificação
No entanto, dependendo de onde você deseja usar, diferentes codificações podem ter eficiência diferente. Por exemplo, dentro de arquivos html existem alguns caracteres proibidos, então base95 precisa de algum escape, o que pode ser pior do que o próprio base64. Da mesma forma, em um URL apenas alguns caracteres são permitidos, outros serão codificados com
%
o que é ainda mais longo que os dados originaisConsulte Qual é o binário mais eficiente para codificação de texto?