Codificar / decodificar Base91

Codifique texto com o algoritmo basE91 ou decodifique uma string Base91 para o texto original. O Base91 gera um resultado mais compacto que o Base64, aproveitando 91 caracteres imprimíveis em vez de 64, com todo o cálculo feito 100% no seu navegador.

Exemplo:

Como funciona

Ao contrário do Base64, que divide os dados em grupos fixos de 6 bits, o basE91 empacota os bytes em blocos de 13 ou 14 bits e os converte em pares de símbolos de um alfabeto de 91 caracteres ASCII imprimíveis, o que melhora a taxa de compressão em cerca de 3% em relação ao Base64.

O Base91 é compatível com todas as URLs?

Não: o alfabeto Base91 inclui caracteres como ", <, > ou &, que precisam ser escapados em uma URL ou em HTML. Ele é mais indicado para armazenamento em arquivos de texto ou para transmissão em protocolos que aceitam caracteres ASCII imprimíveis sem restrição.

Por que meu resultado é mais curto que em Base64?

Porque cada par de símbolos Base91 codifica mais bits do que um caractere Base64 (cerca de 6,5 bits por símbolo contra 6 bits no Base64), o resultado final costuma ser um pouco mais curto para os mesmos dados de origem.

Nenhum dado sai do seu dispositivo: a codificação e a decodificação são calculadas localmente em JavaScript.