1001Ferramentas
📜Conversores

Ascii85 (Adobe)

Codifique e decodifique dados em Ascii85 (Base85), o formato compacto usado em PostScript e PDF, com os delimitadores <~ e ~> da Adobe.

Ascii85

Como o PDF empacota binário em texto

Você abriu um PDF num editor de texto e encontrou um bloco entre <~ e ~>, ou está depurando um stream PostScript e precisa reproduzir a codificação na mão. Ascii85 é o que está ali. Esta página codifica o texto que você digitar e mostra o resultado já com os delimitadores da Adobe, recalculando a cada tecla digitada.

A conta agrupa quatro bytes num inteiro de 32 bits e escreve esse inteiro em cinco dígitos base 85, somando 33 a cada dígito para cair na faixa imprimível de ! até u. Quatro bytes zerados viram um único z, atalho que só vale para grupos completos. O último grupo, se estiver incompleto, é preenchido com zeros e sai com um caractere a mais que a quantidade de bytes. Man com espaço vira <~9jqo^~> e Hello vira <~87cURDZ~>.

A vantagem sobre Base64 é modesta e vale saber o número: 5 caracteres para cada 4 bytes contra 4 para cada 3, ou seja 25% de inchaço em vez de 33%. Na hora de colar dentro de um PDF, tire o prefixo <~ — o filtro ASCII85Decode espera apenas ~> como marcador de fim, e alguns parsers reclamam do prefixo. A página só codifica, embora a descrição mencione decodificação, e o texto é lido como UTF-8. Roda inteiro no navegador.

Perguntas frequentes

O que significa o z que aparece no meio?
É o atalho para quatro bytes zerados seguidos, que economiza quatro caracteres. Ele só pode aparecer em grupos completos, nunca no grupo final incompleto.
Posso colar o resultado direto num stream de PDF?
Quase. Remova o <~ inicial, porque o filtro ASCII85Decode do PDF usa somente ~> como marcador de fim de dados.
É a mesma coisa que o Base85 do Git ou da RFC 1924?
Não. Os três usam 85 símbolos, mas alfabetos diferentes. Trocar de variante muda completamente a saída, então confira qual o outro lado espera.

Ferramentas Relacionadas