Codificador xxencode
Empacota “Hello, world!” em um bloco xxencode clássico, com begin 644 hello.txt, usando só mais, menos, dígitos e letras para que nenhum gateway EBCDIC o estrague, e decodifica esses blocos de volta em texto. 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!
- Modo de cálculo
- Encode
- Nome do arquivo
- hello.txt
- Resultado
- begin 644 hello.txt BG4JgP4wg65RjQalY6E++ + end
- Codificação
- xxencode
- Bytes
- 13
xxencode é uma codificação clássica de binário para texto aparentada com uuencode, mas troca o alfabeto de uu —cheio de espaços— por um conjunto de sessenta e quatro símbolos formado apenas por mais, menos, dígitos e letras. Esse desenho alfanumérico nasceu para que gateways de e-mail e sistemas EBCDIC não corrompessem a carga útil como costumavam fazer com fluxos uuencode. Quem busca um codificador ou decodificador xxencode costuma restaurar arquivos de e-mail antigos, interoperar com ferramentas Unix de transferência, ensinar história de codificações ao lado de Base64 ou precisar de um empacotamento determinístico e seguro em texto de mensagens UTF-8 curtas. A codificação é UTF-8 puro e empacotamento de seis bits; a decodificação aceita invólucros begin e end opcionais, remove linhas em branco e rejeita símbolos ilegais em vez de repará-los em silêncio.
Codificar texto UTF-8 em xxencode clássico
O motor interpreta a string como texto Unicode, serializa-a em bytes UTF-8 e envolve esses bytes na forma clássica begin e end usada por ferramentas históricas de xxencode. Cada linha do corpo começa com um caractere de comprimento tirado do mesmo alfabeto de sessenta e quatro símbolos, seguido de grupos de quatro caracteres que empacotam três bytes de dados em vinte e quatro bits de índices de seis bits.
As linhas carregam no máximo quarenta e cinco bytes de dados, alinhadas ao orçamento de linha familiar do uuencode para que mensagens longas continuem legíveis em clientes de e-mail e visualizadores de log. O alfabeto em si é apenas mais, menos, dígitos de zero a nove, A–Z maiúsculas e a–z minúsculas—sem espaços nem pontuação que gateways EBCDIC costumavam reescrever. Strings vazias são válidas e ainda produzem um bloco bem formado com uma linha terminadora de comprimento zero.
Texto multilíngue, emoji e pontuação fazem ida e volta porque o caminho é UTF-8 completo, não um atalho Latin-1. A resposta sempre inclui result com o bloco xxencode completo, mode igual a encode, encoding igual a xxencode, bytes igual ao comprimento UTF-8 antes da codificação e filename ecoando o nome da linha begin para que você possa afirmar o tamanho da carga e os metadados de cabeçalho 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.
Decodificar xxencode de volta ao texto e tratar entrada inválida
Defina mode como decode e coloque em text um bloco xxencode clássico ou uma sequência de linhas apenas de corpo. Linhas em branco no início e no fim são ignoradas para que colagens multilinha ainda funcionem. Linhas begin opcionais no formato begin mode filename são analisadas para o filename informado, e uma linha end final é aceita quando presente; cargas sem invólucro são igualmente válidas desde que cada linha do corpo comece com um caractere de comprimento do alfabeto.
O alfabeto é estrito: apenas mais, menos, dígitos e letras são aceitos. Linhas que declaram mais de quarenta e cinco bytes de dados, grupos de quatro caracteres truncados mais curtos que o comprimento declarado ou dados após o terminador de comprimento zero são rejeitadas da mesma forma. A decodificação bem-sucedida devolve result como a string recuperada, mode decode, encoding xxencode, bytes como o comprimento UTF-8 decodificado e filename da linha begin ou data quando o cabeçalho foi omitido.
Prefira esta capacidade quando a intenção de busca for literalmente codificador xxencode, decodificador xxencode ou alternativa segura para EBCDIC ao uuencode para conteúdo legível; Base64, Ascii85 e uuencode clássico permanecem ferramentas separadas com suas próprias páginas.
Casos de uso
Transferência de e-mail e arquivos segura para EBCDIC
Codifique cargas UTF-8 curtas com o alfabeto alfanumérico xx quando gateways ou sistemas EBCDIC corromperiam os espaços do uuencode clássico, e decodifique na chegada com o mesmo campo mode.
Interoperabilidade com xxencode Unix legado
Produza ou consuma blocos clássicos begin e end que batem com ferramentas históricas de xxencode para laboratórios de restauração, material de treinamento e entregas multipistaforma.
Perguntas frequentes
Como codifico texto com xxencode?
O filename opcional define o nome da linha begin. O campo result da resposta contém o bloco xxencode clássico e bytes é o comprimento UTF-8.
Como decodifico xxencode de volta para texto?
Defina mode como decode e coloque a carga xxencode em text. Invólucros begin e end opcionais são aceitos. O campo result é o texto UTF-8 recuperado e filename reflete a linha begin quando presente.
O que acontece com um caractere xxencode inválido?
Caracteres fora do alfabeto seguro para EBCDIC (+ - 0-9 A-Z a-z), linhas longas demais e grupos truncados são rejeitados; falhas de validação não são cobradas.
O codificador xxencode é gratuito?
A ferramenta do navegador roda grátis no seu dispositivo.
Em que o xxencode difere do uuencode?
Ambos empacotam três bytes em quatro caracteres de seis bits com prefixo de comprimento, mas o xxencode usa um alfabeto alfanumérico (+-0-9A-Za-z) pensado para transferência mais segura por sistemas EBCDIC, enquanto o uuencode clássico usa um alfabeto baseado em espaços que gateways de e-mail costumam corromper.
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/xxencode \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, world!"}'const res = await fetch("https://api.kit.forhosting.com/enc/xxencode", {
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/xxencode",
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/xxencode", 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/xxencode", 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.xxencode",
"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 resolve esse trabalho do dia a dia: escolha o modo encode ou decode, envie o campo text, opcionalmente nomeie o arquivo da linha begin e receba um bloco clássico begin-and-end ou o texto plano recuperado—ou um erro invalid_input claro se a carga a decodificar contiver um caractere fora do alfabeto xx.
Codificar texto UTF-8 em xxencode clássico
Envie um corpo JSON com o campo de string obrigatório text igual à mensagem plana que deseja representar em xxencode, e deixe mode no padrão encode ou defina mode como encode de forma explícita. Um campo filename opcional (aliases name e file) grava um nome simples na linha begin, por exemplo message.txt; quando omitido, o nome padrão é data. Aliases opcionais input, value e s são aceitos para o campo text quando você gera clientes a partir de nomes de formulário antigos.
Decodificar xxencode de volta ao texto e tratar entrada inválida
Qualquer outro caractere—incluindo espaços de uma colagem uuencode, pontuação de URL ou ruído binário—causa falha imediata invalid_input com uma mensagem que nomeia a condição de caractere xxencode inválido, para que os clientes corrijam a colagem em vez de receber Unicode corrompido. Após a validação de alfabeto e estrutura, os bytes recuperados são decodificados como UTF-8 com um decodificador fatal: se a carga não for texto Unicode válido, você obtém invalid_input em vez de caracteres de substituição que corromperiam exibições posteriores. Falhas de validação não são cobradas na API pré-paga, então sondar um fragmento de arquivo suspeito é barato para operadores e seguro para usuários finais.
Uso da API, preços, fluxos e limites práticos
Chame o codificador xxencode gratuito no navegador para demos de aula, playbooks de suporte, checagens de recuperação de arquivos e conversões pontuais sem instalar pacotes Unix históricos ou portas específicas de linguagem. Um fluxo típico codifica um valor de configuração curto ou uma carga de amostra para armazenamento em um ticket só de texto, envia por e-mail ou chat que pode cruzar saltos cientes de EBCDIC e decodifica no serviço receptor com mode decode, afirmando que bytes coincide com o comprimento original e que filename coincide com a linha begin. Autores que publicam SDKs podem mapear o campo result direto para um botão de copiar, enquanto os rótulos mode e encoding tornam exemplos OpenAPI autoexplicativos para leitores que só conhecem o invólucro clássico begin e end e o alfabeto alfanumérico. 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 após o motor rejeitar a requisição. Combine este endpoint com uma ferramenta Base64 quando um parceiro moderno só fala Base64, mas mantenha os passos em landings separadas para que cada página corresponda a uma única intenção de busca—herança xxencode e segurança EBCDIC versus ubiquidade do Base64.
Casos de integração
Checagens golden em docs e CI
Fixe fixtures de encode e decode para que amostras de documentação e testes de integração contínua falhem rápido se o alfabeto xx ou as regras de comprimento de linha derivarem.