1001Ferramentas
🔤Conversores

Base91 Encode

Codifique e decodifique texto em Base91, um formato mais compacto que o Base64 por aproveitar melhor cada caractere ASCII imprimível.

Base91

basE91: espremendo mais dados em texto imprimível

O basE91 aproveita 91 dos caracteres imprimíveis do ASCII, contra 64 do base64, e com isso o crescimento cai de 33% para cerca de 23%. A mecânica é diferente das outras bases: em vez de agrupar em blocos fixos, ele acumula bits num registrador e emite dois caracteres sempre que há 13 ou 14 bits disponíveis — o número varia conforme o valor caber ou não em 13 bits.

Digite o texto e receba a codificação. Essa variação de 13 ou 14 bits por par é o que torna o formato mais eficiente que o base85, e também o que o torna mais difícil de implementar corretamente: um erro no limiar produz saída plausível e indecodificável. A implementação foi conferida contra vetores conhecidos — "test" codifica para fPNKd e "a" para GB.

O preço da eficiência é o alfabeto, que inclui aspas duplas, cifrão, crase e outros caracteres que exigem escape em quase todo contexto: dentro de string de código, em URL, em XML, em CSV. Por isso o basE91 aparece pouco na prática, apesar de ser mensuravelmente melhor que o base64 em tamanho — a economia raramente compensa o cuidado extra ao transportar.

Perguntas frequentes

Por que às vezes 13 bits e às vezes 14?
Porque o algoritmo verifica se os 13 bits de menor ordem formam um valor pequeno o bastante para caber num par de caracteres. Quando cabem, consome 13; quando não, consome 14. Essa decisão adaptativa é o que espreme o resultado abaixo do que o base85 consegue.
É seguro colocar em URL?
Não sem escapar. O alfabeto inclui e comercial, interrogação, cerquilha, sinal de mais e outros com significado em URL. Escapar anula boa parte da economia de tamanho — para URL, base64url ou base58 são escolhas melhores.
Vale a pena sobre o base64?
Só quando o tamanho realmente importa e o transporte é controlado dos dois lados, como num protocolo binário próprio. Em qualquer situação em que o texto vá passar por sistemas que você não controla, os 10 pontos percentuais de economia não pagam o risco de um caractere ser mexido no caminho.

Ferramentas Relacionadas