Codificador Ascii85 / Base85
“Hello, world!” vira 87cURD_*#TDfTZ)+T em Ascii85 da Adobe, também chamado Base85, que guarda cada quatro bytes em cinco caracteres imprimíveis, mais compacto que o Base64, como esperam as ferramentas de PDF e PostScript. Também decodifica. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Texto
- Hello, world!
- Resultado
- 87cURD_*#TDfTZ)+T
- Modo de cálculo
- Encode
- Variante
- ascii85
- Octetos
- 13
Ascii85, também chamado Base85, empacota dados binários em um alfabeto imprimível mais denso que Base64 ao mapear cada quatro bytes em cinco caracteres tirados dos oitenta e cinco símbolos entre o ponto de exclamação e o u minúsculo, com um atalho especial z para sequências de bytes zero. Quem busca um codificador Ascii85 ou um decodificador Base85 costuma trabalhar com fluxos PDF, fragmentos PostScript, cargas legadas no estilo Adobe ou qualquer pipeline que prefira uma forma compacta e segura em texto em vez do Base64 clássico. A codificação é determinística: UTF-8 e depois aritmética Adobe Ascii85; a decodificação aceita delimitadores opcionais menor-que-til e til-maior-que, remove espaços em branco e rejeita símbolos ilegais em vez de inventar substituições silenciosas.
Codificar texto UTF-8 em Adobe Ascii85 / Base85
O motor interpreta a string como texto Unicode, serializa em bytes UTF-8, agrupa esses bytes de quatro em quatro em um valor de trinta e dois bits big-endian e expande cada grupo em cinco caracteres do alfabeto Adobe que vai do ponto de exclamação até o u minúsculo. Quando um grupo completo de quatro bytes é todo zeros, emite-se um único z em vez de cinco pontos de exclamação: é a compressão clássica de sequências de zeros esperada em ferramentas PDF e PostScript.
Um grupo final parcial de um a três bytes é preenchido com zeros para a aritmética e depois só se emitem n mais um caracteres para n bytes de dados restantes, para o lado da decodificação recuperar o comprimento exato. Strings vazias são válidas e codificam em resultado vazio com zero bytes. Texto multilíngue, emoji e pontuação fazem ida e volta completa porque o caminho é UTF-8 pleno, não um atalho Latin-1.
A resposta sempre inclui result com a string Ascii85, mode igual a encode, variant igual a ascii85 e bytes igual ao comprimento UTF-8 antes da codificação, para você poder afirmar o tamanho da carga nos testes. Entradas idênticas sempre produzem saídas idênticas porque o algoritmo é aritmética pura, sem rede, sem sal aleatório e sem relógio de parede. Use este caminho sempre que precisar de uma representação densa e segura em texto mais compacta que Base64 para fragmentos curtos de configuração, amostras de documentação ou canais binário-em-texto no estilo Adobe.
Decodificar Base85 de volta ao texto e tratar caracteres inválidos
Defina mode como decode e coloque uma string Ascii85 ou Base85 em text. Espaços em branco iniciais e finais, incluindo espaços, tabulações e quebras de linha, são removidos para colagens multilinha continuarem funcionando. Delimitadores opcionais Adobe menor-que-til no início e til-maior-que no fim são removidos quando presentes; cargas sem delimitadores são igualmente válidas.
O alfabeto é estrito: só se aceitam caracteres do ponto de exclamação até o u minúsculo, mais o z isolado para quatro bytes zero. Grupos finais incompletos com menos de dois caracteres do alfabeto (quando não for z) são rejeitados; grupos finais curtos de dois a quatro símbolos são preenchidos com u para a aritmética e rendem um byte a menos que a contagem de símbolos, conforme as regras Adobe. Decodificação bem-sucedida devolve result como a string recuperada, mode decode, variant ascii85 e bytes como o comprimento UTF-8 decodificado.
Prefira esta capacidade quando a intenção de busca for literalmente codificador Ascii85, decodificador Base85 ou converter adobe ascii85 para conteúdo legível por humanos; URIs de dados de imagem binária e Base64 padrão continuam sendo ferramentas separadas com páginas próprias.
Casos de uso
Fluxos Ascii85 em PDF e PostScript
Codifique ou decodifique cargas Ascii85 no estilo Adobe ao inspecionar filtros PDF, fragmentos PostScript ou canais legados binário-em-texto que esperam o alfabeto clássico e as sequências z de zeros.
Perguntas frequentes
Como codifico texto em Ascii85 / Base85?
O campo result da resposta guarda a string Ascii85 e bytes é o comprimento UTF-8.
Como decodifico Base85 de volta ao texto?
Defina mode como decode e coloque a string Ascii85 em text. Wrappers opcionais Adobe <~ ~> e espaços em branco são aceitos. O campo result é o texto UTF-8 recuperado.
O que acontece com um caractere Base85 inválido?
Caracteres fora do alfabeto Adobe (! até u) e o z especial de sequências de zeros são rejeitados; falhas de validação não são cobradas.
O codificador Ascii85 Base85 é grátis?
A ferramenta do navegador roda grátis no seu dispositivo.
Qual a diferença em relação ao Base64?
Ascii85 usa um alfabeto de 85 símbolos e empacota quatro bytes em cinco caracteres (cerca de 25 % de overhead versus ~33 % do Base64). Esta ferramenta implementa Adobe Ascii85, não o alfabeto Base64 de RFC 4648.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/enc/base85 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, world!"}'const res = await fetch("https://api.kit.forhosting.com/enc/base85", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, world!"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/base85",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, world!"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/base85", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, world!"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, world!"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/base85", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "Hello, world!"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.base85",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Esta capacidade foca nesse trabalho do dia a dia: escolha o modo encode ou decode, envie um campo de texto e receba a string transformada mais o comprimento em bytes, ou um erro claro invalid_input quando a carga a decodificar contém um caractere fora do alfabeto Base85.
Codificar texto UTF-8 em Adobe Ascii85 / Base85
Envie um corpo JSON com o campo de string obrigatório text igual à mensagem em texto simples que você quer representar em Ascii85, e deixe mode no padrão encode ou defina mode como encode de forma explícita. Aliases opcionais input, value e s são aceitos para o mesmo campo quando você gera clientes a partir de nomes de formulário antigos.
Decodificar Base85 de volta ao texto e tratar caracteres inválidos
Qualquer outro caractere — inclusive letras depois de u, pontuação segura para URL de outras codificações ou ruído binário — causa falha imediata invalid_input com mensagem que nomeia a condição de caractere Base85 inválido, para os clientes corrigirem a colagem em vez de receber Unicode corrompido. Após a validação do alfabeto, os bytes recuperados são decodificados como UTF-8 com decodificador fatal: se a carga não for texto Unicode válido, você recebe invalid_input em vez de caracteres de substituição que corromperiam telas posteriores. Falhas de validação não são cobradas na API pré-paga, então sondar um token suspeito é barato para operadores e seguro para usuários finais.
Uso da API, preços, fluxos e limites práticos
Use o codificador Ascii85 Base85 gratuito no navegador para demos em sala, playbooks de suporte, checagens de fluxo PDF e conversões pontuais sem instalar wrappers OpenSSL nem pacotes específicos de linguagem. Um fluxo típico codifica um valor de configuração curto para guardar em um ticket só texto, envia por e-mail ou chat e decodifica no serviço receptor com mode decode, afirmando que bytes coincide com o comprimento original. Use a API pré-paga do KIT quando um backend, função serverless ou SDK precisar do mesmo passo de codificação ou decodificação sob saldo a US$ 0,002 por item bem-sucedido; validação falha nunca consome saldo depois que o motor rejeita a requisição. Combine este endpoint com uma ferramenta Base64 quando um sistema parceiro só falar Base64, mas mantenha os passos em páginas separadas para cada uma bater com uma única intenção de busca — densidade Ascii85 versus ubiquidade Base64. Autores que entregam SDK podem mapear o campo result direto em um botão de copiar, enquanto os rótulos mode e variant tornam os exemplos OpenAPI autoexplicativos para leitores que só conhecem o alfabeto Adobe e o atalho z de sequências de zeros.
Casos de integração
Tokens de config densos e seguros em texto
Empacote fragmentos curtos de configuração UTF-8 de forma mais compacta que Base64 para tickets, chat e JSON; depois decodifique no serviço receptor com o mesmo campo mode.
Documentação e goldens de CI
Fixe fixtures de encode e decode para amostras de documentação e testes de integração contínua falharem rápido se o alfabeto Ascii85 ou as regras de grupo incompleto desviarem.