Codificador uuencode
Transforma “Hello, world!” em um documento uuencode clássico que começa com begin 644 data.txt e lê esses documentos de volta como texto. Cada linha leva até 45 bytes, acentos e emojis voltam intactos e um cabeçalho quebrado é recusado, nunca adivinhado. 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
- begin 644 data.txt -2&5L;&\L('=O<FQD(0 end
- Modo de cálculo
- Encode
- Nome do arquivo
- data.txt
- Modo do arquivo
- 644
O uuencode clássico do Unix transforma bytes arbitrários em um documento ASCII seguro para e-mail, com um cabeçalho begin que carrega o modo de permissão e o nome do arquivo, linhas de corpo que começam com um caractere de prefixo de comprimento e uma linha final end. Ainda aparece em arquivos de listas de discussão, dumps de firmware, colagens de Usenet e scripts de build legados que chamam uuencode ou uudecode.
Codifique texto em uuencode Unix clássico
O motor serializa a string como bytes UTF-8 e emite um documento que começa com begin, uma permissão octal de três ou quatro dígitos como 644, e um nome de arquivo de um único token como data.txt. Cada linha de corpo carrega até quarenta e cinco bytes de carga: o primeiro caractere é o prefixo de comprimento, calculado como valor ASCII trinta e dois mais a contagem de bytes, seguido de grupos de três bytes mapeados em quatro caracteres imprimíveis do alfabeto histórico de seis bits mais trinta e dois.
Uma linha terminadora de comprimento zero aparece antes da linha final end para que ferramentas uudecode clássicas saibam que a carga está completa. Strings vazias são válidas e produzem um documento apenas com o terminador entre begin e end. Texto multilíngue e emoji fazem ida e volta porque o caminho é UTF-8 completo, não um atalho Latin-1.
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.
Decodifique documentos uuencode e trate entrada malformada
Defina mode como decode e coloque em text um documento uuencode clássico completo, incluindo a linha begin, as linhas com prefixo de comprimento, o terminador de comprimento zero e o rodapé end. Linhas de ruído antes de begin são ignoradas para que colagens de e-mail ainda funcionem, retornos de carro são normalizados, e tanto espaço quanto crase são aceitos como caractere de zero codificado porque ferramentas históricas discordam sobre a segurança de espaços finais.
Depois que a carga de bytes é recuperada, ela é decodificada como UTF-8 com um decodificador fatal, de modo que binário corrompido que não seja texto Unicode válido também falha de forma limpa. Prefira esta capacidade quando a intenção de busca for literalmente uuencode ou uudecode do formato clássico begin-mode; Base64, Base64url e invólucros PEM são landings separadas com alfabetos e cabeçalhos diferentes.
Perguntas frequentes
Como faço uuencode de um texto?
O campo result contém o documento uuencode clássico completo.
Como decodifico um documento uuencode?
Envie mode decode e coloque o documento completo (begin … end) em text.
O codificador uuencode é gratuito?
A ferramenta do navegador roda grátis no seu dispositivo.
O que acontece se a entrada uuencode estiver malformada?
A mensagem de erro descreve o problema; a requisição não é cobrada.
Posso escolher o nome do arquivo e as permissões do cabeçalho?
Sim. Ao codificar, informe um nome sem espaços, como install.sh, e um modo Unix de três ou quatro dígitos octais, como 755; sem isso, valem data.txt e 644. Ao decodificar, os valores que você informar precisam coincidir com o cabeçalho.
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/uuencode \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, world!"}'const res = await fetch("https://api.kit.forhosting.com/enc/uuencode", {
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/uuencode",
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/uuencode", 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/uuencode", 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.uuencode",
"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 codifica texto UTF-8 em um documento uuencode clássico completo, ou decodifica um documento inteiro de volta para texto, rejeitando cabeçalhos malformados, prefixos de comprimento ilegais e alfabeto de corpo quebrado com um erro invalid_input claro.
Codifique texto em uuencode Unix clássico
Envie um corpo JSON com o campo de string obrigatório text definido para a mensagem em claro que deseja encapsular, deixe mode no padrão encode ou defina mode como encode explicitamente, e opcionalmente passe filename e filemode para o cabeçalho begin. Aliases opcionais input, value, s, payload e data são aceitos para o campo text quando clientes reutilizam nomes de formulário antigos. A resposta inclui result com o documento uuencode completo, mode encode, filename e filemode ecoando os valores do cabeçalho, e bytes igual ao comprimento UTF-8 antes da codificação para que testes possam afirmar o tamanho.
Decodifique documentos uuencode e trate entrada malformada
O motor analisa o modo octal e o nome do arquivo no cabeçalho begin, percorre cada linha de dados, valida que o prefixo de comprimento não exceda o máximo clássico de quarenta e cinco bytes, expande cada quarteto de volta a três bytes e para no terminador de comprimento zero antes de end. begin ausente, end ausente, uma linha não vazia após o terminador, caracteres de corpo ilegais fora da faixa imprimível uuencode, ou um corpo truncado mais curto do que o prefixo de comprimento exige elevam invalid_input com mensagem explícita em vez de lixo silencioso. A decodificação bem-sucedida retorna result como a string recuperada, mode decode, filename e filemode do cabeçalho, e bytes como o comprimento UTF-8 decodificado. Falhas de validação não são cobradas na API pré-paga, então sondar uma colagem de arquivo suspeita é barato para operadores e seguro para usuários finais.
Uso da API, preços, fluxos de trabalho e limites práticos
Chame o codificador uuencode gratuito no navegador para demonstrações em sala, manuais de suporte e conversões pontuais sem instalar GNU sharutils ou módulos uu específicos da linguagem. Outro fluxo verifica se uma amostra de documentação ainda decodifica para o texto em claro documentado antes de um lançamento. Use a API pré-paga do KIT quando um backend, função serverless ou SDK precisar do mesmo passo de encode ou decode sob saldo a US$ 0,002 por item bem-sucedido; validação falha nunca consome saldo após a rejeição do motor. Um fluxo típico codifica um trecho curto de shell com filename em install.sh e filemode 755, envia o documento por um sistema de tickets e depois o decodifica no serviço receptor com mode decode afirmando que bytes e filename coincidem. Combine este endpoint com ferramentas Base64 ou quoted-printable apenas quando um pipeline precisar interoperar com vários envelopes históricos, mas mantenha os passos separados para que cada landing corresponda a uma única intenção de busca. Autores que publicam SDKs podem mapear o campo result direto para um botão de copiar, enquanto os rótulos filename, filemode e bytes tornam capturas e exemplos OpenAPI autoexplicativos para leitores que só lembram o padrão clássico begin 644 nome das páginas de manual antigas.
Casos de integração
Colagens legadas de e-mail e Usenet
Decodifique blocos uuencode clássicos recuperados de arquivos de listas de discussão ou dumps de Usenet de volta para texto UTF-8, com invalid_input claro quando a colagem é truncada no meio da linha.
Checagens golden de docs e CI
Fixe fixtures de encode e decode que incluam cabeçalhos begin e linhas com prefixo de comprimento para que a integração contínua falhe rápido se o alfabeto clássico ou as regras do terminador mudarem.
Suporte e educação
Agentes e estudantes convertem texto para uuencode e de volta no widget gratuito do navegador, aprendendo o cabeçalho histórico de modo e nome de arquivo sem instalar binários uuencode do sistema.
Perguntas técnicas
O que significa o prefixo de comprimento em cada linha?
O primeiro caractere de cada linha de dados codifica quantos bytes decodificados essa linha carrega (valor ASCII = 32 + comprimento, com um terminador de comprimento zero antes de end). Linhas clássicas carregam no máximo 45 bytes.