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?
Posso colar o resultado direto num stream de PDF?
É a mesma coisa que o Base85 do Git ou da RFC 1924?
Ferramentas Relacionadas
ISBN → Citação de Livro (Manual)
Formata citação de livro em APA, MLA, Chicago e ABNT a partir de campos manuais: autor, ano, título, edição, editora e ISBN.
JSON para Classe Java
Converta JSON em uma classe Java (POJO) com getters/setters e tipos inferidos automaticamente. Suporta classes aninhadas e arrays como List. Tudo no navegador.
JSON para TOML
Converta JSON em TOML, formato de configuração legível usado por Cargo (Rust), pyproject.toml, hugo, etc. Suporta strings, números, booleans, arrays e tabelas aninhadas. Tudo no navegador.