Codificador/decodificador ROT47
«Hello» vira «w6==@»: cada caractere ASCII imprimível avança 47 posições em um círculo de 94, e passar o resultado de novo recupera o original. Espaços, acentos e outros alfabetos não mudam. 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
- Resultado
- w6==@
ROT47 gira caracteres ASCII imprimíveis 47 posições módulo 94. Intenção de busca: codificador decodificador rot47. Não são necessárias chamadas de rede, sementes aleatórias nem estado de servidor para uma resposta correta.
Como funciona
ROT47 gira caracteres ASCII imprimíveis 47 posições módulo 94. Involutiva no intervalo 33–126; as demais unidades de código não mudam. A implementação é JavaScript puro sem serviços externos.
Não são necessárias chamadas de rede, sementes aleatórias nem estado de servidor para uma resposta correta. Trabalhos com falha não são cobrados. As landings miram a intenção de busca com palavras-chave precisas.
Prefira unidades e intervalos explícitos à coerção silenciosa de tipos inválidos. Quando um campo é opcional, os padrões estão em params e ecoam na saída. Isto
Entradas, limites e arredondamento
Decimais opcionais usam half-up uma vez. As saídas ecoam as entradas-chave para a automação registrar o contexto completo de cada chamada. Não são necessárias chamadas de rede, sementes aleatórias nem estado de servidor para uma resposta correta.
Trabalhos com falha não são cobrados. As landings miram a intenção de busca com palavras-chave precisas. Prefira unidades e intervalos explícitos à coerção silenciosa de tipos inválidos.
Quando
Quando usar
Use quando a intenção de busca coincidir com o nome da calculadora e você precisar de uma resposta reproduzível para ensino, operações financeiras, GIS, ferramentas de texto ou história de unidades. ROT47 gira caracteres ASCII imprimíveis 47 posições módulo 94. Não são necessárias chamadas de rede, sementes aleatórias nem estado de servidor para uma resposta correta.
Trabalhos com falha não são cobrados. As landings miram a intenção de busca com palavras-chave precisas. Prefira unidades e intervalos explícitos à coerção silenciosa de tipos inválidos.
Quando um campo é opcional, os padrões estão documentados
Perguntas frequentes
Ele chama a rede?
Não. Todas as transformações matemáticas e de texto são locais e determinísticas.
Quem é o autor?
Aspire (elon@forhosting.com), entrega só EN; Nitro hidrata os locales.
Como decodifico um texto em ROT47?
Cole o texto codificado e aplique a mesma ferramenta de novo. O ROT47 é o próprio inverso: avançar 47 posições duas vezes completa a volta pelas 94, então «w6==@» volta a ser «Hello».
Quais caracteres o ROT47 altera?
Só os caracteres ASCII imprimíveis de 33 a 126: letras latinas sem acento, dígitos e a pontuação comum. Espaços, letras acentuadas, outros alfabetos e emojis ficam exatamente iguais.
O ROT47 muda o tamanho do texto?
Não. Cada caractere é trocado por exatamente outro caractere, ou fica como está, então o texto codificado tem a mesma quantidade de caracteres do original, com espaços e quebras de linha no lugar.
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/text/rot47 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello!"}'const res = await fetch("https://api.kit.forhosting.com/text/rot47", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello!"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/rot47",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello!"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/rot47", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello!"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello!"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/rot47", 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!"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.rot47",
"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
A calculadora é grátis no navegador, determinística e idêntica no caminho da API. As entradas são validadas antes de qualquer aritmética; cargas inválidas falham com invalid_input. O arredondamento half-up aplica-se uma vez a partir de resultados IEEE brutos quando se pedem decimais. Use o mesmo contrato JSON em planilhas, ganchos CMS, automação,
Como funciona
A calculadora é grátis no navegador, determinística e idêntica no caminho da API. As entradas são validadas antes de qualquer aritmética; cargas inválidas falham com invalid_input. O arredondamento half-up aplica-se uma vez a partir de resultados IEEE brutos quando se pedem decimais. Use o mesmo contrato JSON em planilhas, ganchos CMS, automação ou demos didáticas.
Entradas, limites e arredondamento
Forneça os parâmetros obrigatórios como números ou strings JSON conforme a documentação. Tipos inválidos, campos obrigatórios ausentes ou valores fora do intervalo geram invalid_input com mensagem clara. A calculadora é grátis no navegador, determinística e idêntica no caminho da API. As entradas são validadas antes de qualquer aritmética; cargas inválidas falham com invalid_input. O arredondamento half-up aplica-se uma vez a partir de resultados IEEE brutos quando se pedem decimais. Use o mesmo contrato JSON em planilhas, ganchos CMS, automação ou demos didáticas.
Quando usar
A calculadora é grátis no navegador, determinística e idêntica no caminho da API. As entradas são validadas antes de qualquer aritmética; cargas inválidas falham com invalid_input. O arredondamento half-up aplica-se uma vez a partir de resultados IEEE brutos quando se pedem decimais. Use o mesmo contrato JSON em planilhas, ganchos CMS, automação ou demos didáticas.
Casos de integração
Verificação rápida
Cole valores no widget gratuito e compare com uma planilha.
Automação
Chame a API com o mesmo contrato JSON a partir de n8n, scripts ou CMS.
Ensino
Mostre a fórmula e os exemplos golden fixados sem software proprietário.
Perguntas técnicas
É grátis no navegador?
Sim. O nível A roda totalmente no cliente com o mesmo núcleo da API.
O que ocorre com entrada inválida?
O handler lança invalid_input; trabalhos com falha não são cobrados.
Posso usar pela API?
Sim. Envie os mesmos campos JSON documentados em params.