Conversor UUEncode / UUDecode

Codifique texto no formato uuencode clássico do Unix (com cabeçalho begin 644 nome e terminador ` / end) ou descodifique texto uuencoded de volta para texto legível. As linhas contêm no máximo 45 bytes; cada linha começa com um carácter de comprimento. A descodificação tolera um envoltório begin/end em falta.
Todo o processamento é feito localmente no seu navegador — nada é enviado.
Nome do ficheiro no cabeçalho: vai para begin 644 <nome> (modo 644 fixo).
Codificar texto → UU: o seu texto torna-se bytes UTF-8, agrupados 45 por linha. Cada linha é precedida por um carácter de comprimento (32 + número de bytes, por isso 45 = M), depois três bytes tornam-se quatro caracteres imprimíveis no alfabeto de 6 bits espaço–_. Os últimos grupos curtos são preenchidos dentro do seu grupo final.
Descodificar UU → texto: a linha begin modo nome, o terminador final ` e a linha end são todos reconhecidos mas opcionais — cole qualquer bloco de linhas uuencoded. Uma linha cujo carácter de comprimento é ` ou espaço (0 bytes) termina os dados. Caracteres não ASCII ou fora do intervalo são rejeitados com a sua posição; os bytes descodificados são interpretados como UTF-8.
Ctrl+Enter na entrada executa o modo ativo.
Escolha uma direção e execute. Todo o processamento fica no seu navegador.
Formato uuencode:
Cabeçalho: begin 644 weqsoft.txt  — a palavra literal begin, um modo de permissões em octal e o nome do ficheiro.
Linhas de dados: cada linha começa com um carácter de comprimento igual ao número de bytes + 32 (45 bytes = M), seguido dos grupos de 6 bits — três bytes → quatro caracteres no intervalo espaço–_ (32–95). O vetor clássico conhecido Cat codifica-se na linha #0V%T.
Final: uma linha terminadora com um único acento grave `, seguida da linha end.
Notas: esta ferramenta trabalha com texto UTF-8, por isso qualquer Unicode (incluindo emojis e chinês) faz o percurso de ida e volta perfeitamente; os ficheiros binários descodificariam para bytes não UTF-8, o que esta ferramenta de texto reporta como erro. As quebras de linha são mostradas como LF (os navegadores normalizam CRLF nos campos de formulário).