ForHosting KIT · Entwickler-Tools

Brainfuck-Textencoder

Geben Sie „Hi“ ein und erhalten Sie ein lauffähiges Brainfuck-Programm aus 107 Zeichen, nur aus Pluszeichen und Ausgabepunkten. Umgekehrt führt das Werkzeug Brainfuck aus, zeigt die Ausgabe und meldet Klammern ohne Gegenstück. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald
Wenn Sie eingeben
Text
Hi
Berechnungsmodus
Encode
Erhalten Sie
Kodierung
brainfuck
Eingabelänge
2
Ausgabelänge
107

Dieser Brainfuck-Textencoder wandelt Klartext in ein lauffähiges Brainfuck-Programm um, das diesen Text ausgibt, und führt Brainfuck-Quellcode in die andere Richtung aus, damit Sie sehen, was ein Programm druckt. Der Modus encode durchläuft jedes Latin-1-Byte, passt eine einzelne Bandzelle mit der kürzeren Plus- oder Minus-Folge auf dem wrap-Ring 0–255 an und setzt nach jedem Zeichen einen Punkt, damit das Programm sofort lauffähig ist. Der Modus decode ist ein klassischer Acht-Befehl-Interpreter auf einem begrenzten Band: Er prüft die Klammerpaare vor der Ausführung, ignoriert Nicht-Befehlszeichen wie herkömmliches Brainfuck und scheitert klar bei unpassenden Klammern, Schrittlimits oder Zeigerüberlauf.

Acht Befehle und ein Band voller Zellen

Brainfuck ist eine winzige Programmiersprache mit nur acht Befehlen. Sie bewegen einen Zeiger über ein Band aus Zellen, erhöhen oder verringern die aktuelle Zelle, lesen oder schreiben ein Byte und springen in Schleifen, solange eine Zelle nicht null ist. Trotz des scherzhaften Namens ist sie ein vollständiges Rechenmodell. Lehrkräfte, Rätselautoren und Liebhaber exotischer Sprachen nutzen sie, um Bandmaschinen, Rechnen mit Überlauf und den Unterschied zwischen Syntaxprüfung und Laufzeitgrenzen zu erklären. Alle Zeichen, die keine Befehle sind, gelten als Kommentar.

Wie aus Text ein Programm wird und was scheitert

Für jedes Zeichen verändert das Werkzeug eine einzige Zelle auf dem kürzesten Weg, also mit Plus oder Minus auf einem Ring von 0 bis 255, und setzt danach einen Punkt, der das Zeichen ausgibt. So ist das Ergebnis sofort lauffähig. Zeichen oberhalb von 255 werden abgelehnt, statt verstümmelt zu werden. Beim Ausführen prüft das Werkzeug zuerst, ob alle eckigen Klammern korrekt verschachtelt sind, und repariert nichts stillschweigend. Ein Programm, das zu viele Schritte braucht, den Zeiger über ein Ende des Bandes hinausschiebt oder zu viel ausgibt, endet mit einer klaren Meldung.

Was Brainfuck ist und was dieses Werkzeug zurückgibt

Brainfuck ist eine minimale esoterische Sprache mit acht Befehlen, die einen Datenzeiger bewegen, die aktuelle Zelle erhöhen oder verringern, ein Byte lesen oder schreiben und bei Null oder Nicht-Null für Schleifen springen. Trotz des scherzhaften Namens ist es ein vollständiges Berechnungsmodell, das Lehrkräfte, Rätselautoren und Esolang-Hobbyisten weiterhin nutzen, um Bandmaschinen, modulare Arithmetik und den Unterschied zwischen Syntaxprüfung und Laufzeitlimits zu erklären. Diese Seite konzentriert sich auf zwei praktische Aufgaben, nach denen wirklich gesucht wird: ein Brainfuck-Programm erzeugen, das eine gegebene Zeichenkette druckt, und Brainfuck-Quellcode ausführen, um die gedruckte Ausgabe zurückzugewinnen.

Der Modus decode akzeptiert jede Mischung aus Brainfuck-Befehlen und Kommentaren, weil Nicht-Befehlszeichen konventionell ignoriert werden, lehnt aber Programme ab, deren eckige Klammern nicht korrekt verschachtelt sind.

Unterrichts- und Esolang-Demos

Zeigen Sie, wie eine Bandmaschine eine Zeichenkette druckt, indem Sie ein kurzes Brainfuck-Programm erzeugen und es live ausführen, ohne einen lokalen Interpreter zu installieren.

Was kostet der Brainfuck-Textencoder?

Auf dieser Seite ist er in Ihrem Browser kostenlos.

Welche Modi werden unterstützt?

Die Aliasse run und execute bedeuten ebenfalls decode.

Welche Zeichen können Sie kodieren?

Latin-1-Bytes mit Codepoints 0–255. Leerer Text liefert ein leeres Programm.

Was macht ein Brainfuck-Programm ungültig?

Unpassendes '[' oder ']', Zeigerbewegungen über eines der Enden des 30,000-Zellen-Bands, Überschreiten der Schritt- oder Ausgabegrenzen oder ein Programmfeld, das kein String ist. Nicht-Befehlszeichen werden ignoriert, nicht abgelehnt.

Kann ein Brainfuck-Programm hier Eingaben lesen?

Ja. Sie können eine optionale Eingabe für den Komma-Befehl mitgeben, der jeweils ein Byte liest. Ist diese Eingabe aufgebraucht, schreibt jedes weitere Komma eine Null in die aktuelle Zelle.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

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

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

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"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Die Engine ruft nie ein Netzwerk auf, nutzt nie Zufall und hängt nie von der Kalenderuhr ab, sodass derselbe Text und Modus im Browser und über die API stets dasselbe Ergebnis liefern. Typische Prüfungen sind die Kodierung von Hi zu einem kurzen Plus-Punkt-Programm, das Zurücklaufen dieses Programms zu Hi und die Ablehnung einer allein stehenden öffnenden Klammer mit invalid_input.

Was Brainfuck ist und was dieses Werkzeug zurückgibt

Der Modus encode unterstützt Latin-1-Bytes von null bis zweihundertfünfundfünfzig, sodass jedes Zeichen einer Zellenschreibung und einem Druck entspricht; Codepoints oberhalb dieses Bereichs werden mit einer klaren invalid_input-Meldung abgelehnt statt mit stillem Mojibake. Die JSON-Antwort enthält stets result für das erzeugte Programm oder die Laufzeitausgabe, mode mit encode oder decode, encoding fest auf brainfuck sowie input_length und output_length, damit automatisierte Tests Größen prüfen können, ohne die Payload erneut zu parsen. Optionales program_input liefert Bytes für den Komma-Befehl beim decode; ist stdin erschöpft, speichert Komma null. Es gibt keine stille Reparatur fehlerhafter Klammern und keine unbegrenzte Ausführung: Schritt-, Band- und Ausgabegrenzen schützen den Worker und halten erfolgreiche kurze Programme im Browser schnell und kostenlos.

Wie text und mode gelesen werden und Ergebnisse reproduzierbar bleiben

Mode ist standardmäßig encode und akzeptiert decode ausdrücklich; die Aliasse op, direction und action mappen auf denselben Schalter, und run oder execute gelten als decode für Skripte, die die zweite Richtung als Ausführung statt Entschlüsselung sehen. Encode lehnt fehlenden Text, Nicht-String-Werte, Zeichenketten über der dokumentierten Zeichengrenze und jedes Zeichen mit Codepoint größer als zweihundertfünfundfünfzig ab und nennt den Index des fehlerhaften Zeichens, damit Sie es korrigieren können. Decode lehnt fehlende Quelle, zu große Programme, unpassende schließende Klammern, unpassende öffnende Klammern, Zeigerbewegungen über beide Enden des dreißigtausend-Zellen-Bands, Ausgaben über dem Ausgabelimit und Läufe über dem Schrittbudget ab und fängt so klassische Endlosschleifen ab, die sonst eine kostenlose Seite hängen ließen. Das bevorzugte Payload-Feld ist text, mit den Aliassen input, value, s, program und message, damit Formulare, Query-Strings und SDK-Clients denselben Vertrag ohne Umbenennung von Spalten nutzen. Weil jeder Zweig reines String-Zusammenfügen oder eine feste Interpreterschleife ist, erhalten zwei Clients mit demselben text, mode und optionalen program_input byteidentische Ergebnisse über Worker-Versionen hinweg, solange Erzeugungsregel und Grenzen fest bleiben. Kombinieren Sie den kostenlosen Browserlauf auf dieser Seite mit der kostenpflichtigen API, wenn Sie dasselbe mathematische Ergebnis in einer automatisierten Pipeline brauchen, ohne selbst einen Brainfuck-Generator neu zu implementieren.

Wo Encoder und Runner für Brainfuck in Lernen, Rätseln und Tests passen

Studierende begegnen Brainfuck, wenn ein Kurs minimale Befehlssätze vorstellt, wenn ein Club eine Esolang-Nacht veranstaltet oder wenn eine Hausaufgabe Hello World ohne herkömmliche Sprache verlangt. Kombinieren Sie es mit anderen Textkodier-Helfern, wenn Sie ein kleines Labor freier, deterministischer Werkzeuge für Bildung, Sicherheitschallenges und Ops-Smoke-Tests aufbauen, die nie von einem Netzaufruf oder einem Modell abhängen sollen. Auf dieser Seite läuft die Arbeit vollständig in Ihrem Browser; über die API kostet jede erfolgreiche Abfrage $0.002, fehlgeschlagene Validierung wird nicht berechnet, und nach der Antwort wird nichts gespeichert. Diese Trennung — kostenlose interaktive Erkundung und eine preislich identische API — passt zum übrigen KIT-Katalog der Stufe A und lässt Sie von einer Tafel-Demo zu einer automatisierten Pipeline wechseln, ohne das kodierte Ergebnis zu ändern.

CTF- und Rätsel-Fixtures

Kodieren Sie deterministische Hinweise und prüfen Sie von Spielern eingereichte Brainfuck-Programme gegen die erwartete gedruckte Ausgabe in automatischen Checkern.

CI-Golden-Paare

Prüfen Sie encode- und run-Ergebnisse in Continuous Integration, damit Generatoren und Dokumentationsbeispiele nicht still abdriften.

Ist das Ergebnis deterministisch?

Ja. Derselbe text, mode und optionale program_input liefern stets dasselbe Ergebnis ohne Netzwerk, Zufall oder datumsabhängiges Verhalten.

Vollständige KIT-Dokumentation lesen →