ForHosting KIT · Ferramentas para dev

Codificador Brainfuck

Digite «Hi» e receba um programa Brainfuck de 107 caracteres pronto para rodar, feito só de sinais de mais e pontos de impressão. Também faz o caminho inverso: executa Brainfuck, mostra o que ele imprime e aponta colchetes sem par. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Texto
Hi
Modo de cálculo
Encode
Você obtém
Codificação
brainfuck
Comprimento da entrada
2
Comprimento da saída
107

Este codificador de texto para Brainfuck transforma texto simples em um programa Brainfuck funcional que imprime esse texto, e executa código Brainfuck no sentido inverso para que você veja o que um programa imprime. O modo encode percorre cada byte Latin-1, ajusta uma única célula da fita com a sequência mais curta de mais ou menos no anel circular 0–255 e emite um ponto após cada caractere para que o programa seja executável de imediato. O modo decode é um interpretador clássico de oito comandos em uma fita limitada: valida o emparelhamento de colchetes antes da execução, ignora caracteres que não são comandos como o Brainfuck tradicional e falha de forma clara em colchetes sem par, limites de passos ou estouro do ponteiro.

O que é Brainfuck e o que esta ferramenta devolve

Brainfuck é uma linguagem esotérica mínima com oito comandos que movem um ponteiro de dados, incrementam ou decrementam a célula atual, leem ou escrevem um byte e saltam em zero ou diferente de zero para laços. Apesar do nome jocoso, é um modelo completo de computação que professores, autores de puzzles e entusiastas de esolangs ainda usam para explicar máquinas de fita, aritmética modular e a diferença entre validação sintática e limites em tempo de execução.

Esta página concentra-se em duas tarefas práticas que as pessoas realmente buscam: gerar um programa Brainfuck que imprima uma string dada, e executar código Brainfuck para recuperar a saída impressa. O modo decode aceita qualquer string de comandos Brainfuck misturada com comentários, porque caracteres que não são comandos são ignorados por convenção, mas recusa programas cujos colchetes não aninhem corretamente.

Demos de sala e esolang

Mostre como uma máquina de fita imprime uma string gerando um programa Brainfuck curto e executando-o ao vivo sem instalar um interpretador local.

Quais caracteres você pode codificar?

Bytes Latin-1 com code points 0–255. Texto vazio produz um programa vazio.

O que torna um programa Brainfuck inválido?

Um '[' ou ']' sem par, mover o ponteiro além de qualquer extremidade da fita de 30,000 células, exceder os limites de passos ou de saída, ou enviar um campo de programa que não seja string. Caracteres que não são comandos são ignorados, não rejeitados.

Como descubro o que um programa Brainfuck imprime?

Escolha a opção de decodificar e cole o programa. Ele roda em uma fita limitada e mostra a saída; letras e outros caracteres que não são comandos são ignorados, então comentários no código não atrapalham.

Um programa Brainfuck pode ler uma entrada?

Pode. Você informa uma entrada opcional para o comando vírgula, que lê um byte por vez. Quando essa entrada acaba, cada vírgula seguinte grava zero na célula atual.

Por que o programa gerado usa só sinais de mais, de menos e pontos?

Para cada caractere, a ferramenta ajusta uma única célula pelo caminho mais curto, somando ou subtraindo em um anel que vai de 0 a 255, e depois imprime com um ponto. Assim o programa já sai pronto para rodar.

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.

POSThttps://api.kit.forhosting.com/enc/brainfuck-encode

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/enc/brainfuck-encode \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hi"}'
{
  "text": "Hi"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.brainfuck_encode",
  "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.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

O motor nunca chama uma rede, nunca usa aleatoriedade e nunca depende do relógio do calendário, de modo que o mesmo texto e modo sempre produzem o mesmo resultado no navegador e pela API. Verificações típicas incluem codificar Hi em um programa curto de mais e pontos, executar esse programa de volta a Hi e rejeitar um colchete de abertura isolado com invalid_input.

O que é Brainfuck e o que esta ferramenta devolve

O modo encode admite bytes Latin-1 de zero a duzentos e cinquenta e cinco de forma que cada caractere mapeia para uma escrita de célula e uma impressão; code points acima desse intervalo são rejeitados com uma mensagem invalid_input clara em vez de mojibake silencioso. A resposta JSON sempre inclui result para o programa gerado ou a saída em tempo de execução, mode ecoando encode ou decode, encoding fixo em brainfuck, e input_length mais output_length para que testes automatizados possam afirmar tamanhos sem reparsear o payload. O program_input opcional fornece bytes ao comando vírgula durante o decode; quando o stdin se esgota, a vírgula armazena zero. Não há reparo silencioso de colchetes ruins nem execução ilimitada: os tetos de passos, fita e saída protegem o Worker e mantêm programas curtos bem-sucedidos rápidos e grátis no navegador.

Como text e mode são lidos e como os resultados se reproduzem

Encode rejeita texto ausente, valores que não são string, strings mais longas que o teto documentado e qualquer caractere cujo code point seja maior que duzentos e cinquenta e cinco, indicando o índice do caractere ruim para que você possa corrigi-lo. Decode rejeita fonte ausente, programas superdimensionados, colchetes de fechamento sem par, colchetes de abertura sem par, movimentos do ponteiro além de qualquer extremidade da fita de trinta mil células, saídas que ultrapassam o teto de saída e execuções que excedem o orçamento de passos, o que captura os padrões clássicos de laço infinito que de outro modo travariam uma página grátis. O campo preferido do payload é text, com aliases input, value, s, program e message para que formulários, query strings e clientes SDK reutilizem o mesmo contrato sem renomear colunas. Mode tem padrão encode e aceita decode de forma explícita; os aliases op, direction e action mapeiam para o mesmo comutador, e run ou execute são tratados como decode para scripts que veem a segunda direção como execução e não como descriptografia. Como cada ramo é montagem pura de strings ou um laço fixo de interpretador, dois clientes com o mesmo text, mode e program_input opcional recebem resultados idênticos byte a byte entre versões do Worker enquanto a regra de geração e os limites permanecerem fixos. Combine a execução grátis no navegador desta página com a API paga quando precisar do resultado matemático idêntico dentro de um pipeline automatizado sem reimplementar um gerador Brainfuck você mesmo.

Onde o codificador e o executor Brainfuck se encaixam em aprendizado, puzzles e testes

Estudantes encontram Brainfuck quando um curso apresenta conjuntos mínimos de instruções, quando um clube organiza uma noite de esolang ou quando um dever pede imprimir Hello World sem uma linguagem convencional. Designers de puzzles e autores de CTF precisam de um codificador determinístico para que a mesma flag ou pista se torne sempre o mesmo programa, e de um executor para que jogadores e verificadores validem a saída sem empacotar um interpretador separado. Combine com outros auxiliares de codificação de texto ao montar um pequeno laboratório de utilitários determinísticos grátis para educação, desafios de segurança e testes de fumaça de operações que nunca devam depender de uma chamada de rede ou de um modelo. Nesta página o trabalho roda inteiramente no seu navegador; pela API cada consulta bem-sucedida custa US$ 0,002, a validação falha não é cobrada e nada é armazenado depois que a resposta retorna. Essa divisão — exploração interativa grátis e uma API paga idêntica — combina com o restante do catálogo KIT de nível A e permite que você passe de uma demo no quadro a um pipeline automatizado sem mudar o resultado codificado.

Fixtures de CTF e puzzles

Codifique pistas determinísticas e verifique programas Brainfuck enviados por jogadores em relação à saída impressa esperada em verificadores automáticos.

Pares golden em CI

Afirme resultados de encode e run em integração contínua para que geradores e exemplos de documentação nunca derivem em silêncio.

Quanto custa o codificador de texto para Brainfuck?

É grátis no seu navegador nesta página. Pela API uma solicitação bem-sucedida custa US$ 0,002; entradas inválidas não são cobradas.

Quais modos são suportados?

mode=encode (padrão) transforma texto simples em um programa Brainfuck que o imprime. mode=decode executa código Brainfuck e devolve a saída impressa. Os aliases run e execute também significam decode.

O resultado é determinístico?

Sim. O mesmo text, mode e program_input opcional sempre produzem o mesmo resultado, sem rede, aleatoriedade ou comportamento dependente de data.

Ver a documentação completa do KIT →