ForHosting KIT · Text & KI

Text-Einrückung normalisieren

Zeilen mit 2, 4 und 6 Leerzeichen werden als Ebenen 1, 2 und 3 einer Einheit von 2 Leerzeichen erkannt, und jede Zeile wird genau danach neu eingerückt. Was nach der Einrückung steht, bleibt unberührt. 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
def foo(): if True: bar() baz() return
Erhalten Sie
Eingabe
def foo(): if True: bar() baz() return
Einzugsstil
spaces
Einzugseinheit
2
Erkannte Einheit
2

Inkonsistente führende Leerräume gehören zu den häufigsten Ärgernissen beim Einfügen von Code in Reviews, Konfigurationsdumps und Dokumentationsblöcken. Ein Ausschnitt kann Zwei- und Vier-Leerzeichen-Schritte mischen oder schlimmer noch Tabulatoren auf manchen Zeilen und Leerzeichen auf anderen, bis ein Linter oder ein Kollege die Datei ablehnt. Dieser Text-Einrückungsnormalisierer nimmt mehrzeiligen Klartext entgegen, klassifiziert jede nicht leere Zeile danach, wie ihre führende Einrückung geschrieben ist, erkennt eine einzige Basiseinheit — den größten gemeinsamen Teiler der Leerzeichen-Zählungen oder einen Tabulator — und schreibt jede Zeile so um, dass die Einrückung ein exaktes Vielfaches dieser Einheit ist.

So funktionieren Basiseinheits-Erkennung und Stufen-Umschreibung

Der Algorithmus normalisiert zuerst Windows-CRLF- und veraltete CR-Zeilenenden in eine einzige LF-Form und teilt das Dokument dann in Zeilen. Vollständig leere Zeilen bleiben leer und tragen keinen Einrückungsstil bei. Für jede nicht leere Zeile wird die führende Folge aus Leerzeichen und Tabulatoren gemessen: erscheinen beide Zeichen in dieser Folge oder anderes Unicode-Leerzeichen dort, gilt die Zeile als gemischt und die gesamte Anfrage scheitert mit einer klaren Meldung unter Angabe der Zeilennummer.

Sind manche nicht leeren Zeilen mit Leerzeichen und andere mit Tabulatoren eingerückt, hat das Dokument keinen einzigen klaren Stil und wird ebenfalls abgelehnt — die Umwandlung muss bewusst erfolgen, nicht geraten. Wenn jede eingerückte Zeile Leerzeichen nutzt, ist die Basiseinheit der größte gemeinsame Teiler aller positiven führenden Leerzeichen-Zählungen; ist nichts eingerückt, ist die Standard-Meldeeinheit zwei Leerzeichen. Wenn jede eingerückte Zeile Tabulatoren nutzt, ist die Basiseinheit ein Tabulator und jeder führende Tabulator zählt als eine Stufe.

Die Stufe jeder Zeile wird dann als Zählung geteilt durch die Einheit neu berechnet (exakt für den GGT der beobachteten Leerzeichen-Zählungen, ganzzahlige Tabulator-Zählungen im Tab-Modus), und die Zeile wird mit einem reinen Präfix aus wiederholten Leerzeichen der Länge Stufe mal Ausgabe-Einheit oder wiederholten Tabulatoren der Länge Stufe umgeschrieben. Der Inhalt nach der führenden Einrückung wird nie verändert: innere Leerzeichen, nachgestellte Leerzeichen und Code-Token bleiben byteidentisch.

Eingefügten Code und Konfiguration vor dem Commit bereinigen

Entwickler fügen Snippets mit gemischten Zwei- und Vier-Leerzeichen-Schritten ein; das Werkzeug schreibt jede Zeile auf eine Basiseinheit um und meldet die maximale Einrückungstiefe zur Prüfung.

Wie wählt das Werkzeug die Basiseinheit der Einrückung?

Bei mit Leerzeichen eingerückten Zeilen nutzt es den größten gemeinsamen Teiler aller positiven führenden Leerzeichen-Zählungen (Standard-Meldeeinheit zwei, wenn nichts eingerückt ist). Bei tab-eingerückten Zeilen ist die Einheit ein Tabulator pro Stufe.

Was passiert, wenn manche Zeilen Tabulatoren und andere Leerzeichen nutzen?

Eine dokumentweite Mischung aus Tabulatoren und Leerzeichen hat kein klares Einzelmuster; wandeln Sie zuerst in einen Stil um und normalisieren Sie danach.

Kann ich Zwei-Leerzeichen-Einrückung in Vier-Leerzeichen umwandeln?

Erkannte Stufen bleiben erhalten und jede Stufe wird mit vier Leerzeichen umgeschrieben.

Ändert die Normalisierung Code innerhalb einer Zeile?

Nein. Nur die führende Einrückungsfolge wird umgeschrieben. Innere Abstände, nachgestellte Leerzeichen und alle Nicht-Einrückungszeichen bleiben unverändert.

Was passiert mit Leerzeilen und Windows-Zeilenumbrüchen?

Vollständig leere Zeilen bleiben leer und zählen nicht mit, wenn der Einrückungsstil erkannt wird. Windows- und ältere Zeilenumbrüche werden vor dem Messen vereinheitlicht, sodass sie in Ihrem Text nie zu Abweichungen führen.

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/text/text-indentation-normalize

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/text/text-indentation-normalize \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"def foo():\n  if True:\n      bar()\n    baz()"}'
{
  "text": "def foo():\n  if True:\n      bar()\n    baz()"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "text.text_indentation_normalize",
  "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.

max_tokens20000
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.

Wenn dieselbe Zeile oder das gesamte Dokument Tabulatoren und Leerzeichen ohne klares Muster mischt, scheitert die Aufgabe mit invalid_input statt stillschweigend zu raten. Mit dem optionalen target_unit können Sie leerzeichenbasierte Stufen neu skalieren (zum Beispiel von zwei auf vier), ohne den logischen Tiefenbaum zu ändern.

So funktionieren Basiseinheits-Erkennung und Stufen-Umschreibung

Das optionale target_unit gilt nur für Dokumente im Leerzeichen-Stil: Stufen bleiben erhalten und die Ausgabe nutzt so viele Leerzeichen pro Stufe — so wandeln Sie einen Zwei-Leerzeichen-Baum in einem Aufruf in einen Vier-Leerzeichen-Baum um. Eingaben im Tabulator-Stil ignorieren target_unit, damit Tabulatoren nicht still expandiert werden.

Eingabevertrag, Antwortfelder und Fehlerverhalten

Senden Sie den rohen mehrzeiligen Body lieber, statt Zeilenumbrüche vorab zu kollabieren, wenn Sie echte pro-Zeilen-Einrückungssemantik wollen; eine einzelne lange Zeile hat nur eine Einrückung zu normalisieren. Senden Sie per POST einen JSON-Body mit einem Pflicht-Stringfeld text (Aliase input, value, string, s, content und body). Der Wert muss nach globalem Trimmen der Leerräume ein nicht leerer String sein und darf hunderttausend Zeichen nicht überschreiten, damit ein einzelner Paste Worker- oder Browser-Speicher nicht erschöpft. Das optionale target_unit ist eine positive Ganzzahl von eins bis zweiunddreißig; Nicht-Ganzzahlen und Werte außerhalb des Bereichs scheitern an der Validierung. Bei Erfolg spiegelt die Antwort input als Originalstring, text als vollständig umgeschriebenes mehrzeiliges Ergebnis mit LF verbunden, indent_style als spaces, tabs oder none, indent_unit als effektive Ausgabe-Einheitengröße, detected_unit als vor jedem Ziel-Override abgeleitete Einheit, line_count als Zeilenzahl einschließlich Leerzeilen, indented_lines als Anzahl der Zeilen mit positiver Stufe, max_level als tiefste Einrückungsstufe, levels als pro Zeile ausgerichtetes ganzzahliges Tiefenarray zu lines, lines als geordnetes Array der umgeschriebenen Zeilenstrings und message als kurze Zusammenfassung von Stil, Einheit, Zeilenzahl und Maximalstufe. Fehlgeschlagene Validierung — fehlendes text, Nicht-String-Werte, leerer Inhalt, zu große Nutzlast, ungültiges target_unit, Tabulator/Leerzeichen-Mix in derselben Zeile oder Stilmix auf Dokumentebene — liefert invalid_input und wird nie berechnet. Der Preis ist ein Festbetrag von $0.002 pro erfolgreicher Anfrage mit Einheit item. Bei der Integration assertieren Sie auf text oder lines für den bereinigten Inhalt, vergleichen Sie optional levels und indent_unit für Regressionen und behandeln Sie invalid_input als clientseitigen Stilkonflikt bei gemischten Pastes, nicht als Abrechnungsereignis.

Wann Sie dieses Werkzeug nutzen und wie es sich von verwandten Suchen unterscheidet

Nutzen Sie diese Fähigkeit, wenn die Suchabsicht lautet: Text-Einrückungsstufen normalisieren, inkonsistente Einrückung online beheben, unregelmäßigen Zwei-und-Vier-Leerzeichen-Paste auf eine Einheit bringen oder Tabulator- versus Leerzeichen-Stil vor einem Commit erkennen. Beachten Sie nachgestellte Leerräume und innere Ausrichtungsspalten — dieses Werkzeug schreibt nur die führende Einrückungsfolge um, nicht Ausrichtungsleerzeichen innerhalb einer Zeile. Es ist kein vollständiger Code-Formatter, kein sprachbewusster Pretty Printer, kein Leerzeilen-Löscher und kein globales String.trim, das absichtliche Struktur zerstören würde. Round-Trip-Prüfungen für Tests sind einfach: geben Sie einen Drei-Zeilen-Block mit null, zwei und vier führenden Leerzeichen und erwarten Sie indent_unit zwei mit levels null, eins und zwei; geben Sie reine tab-eingerückte verschachtelte Blöcke und erwarten Sie indent_style tabs mit ganzzahligen Stufen passend zu den Tab-Zählungen; senden Sie absichtlich eine Zeile, die mit Tabulator und dann Leerzeichen beginnt, oder eine tab-eingerückte Zeile neben einer leerzeichen-eingerückten Schwester, und bestätigen Sie invalid_input mit Erwähnung der Mischung aus Tabulatoren und Leerzeichen. Bevorzugen Sie str.trim_lines, wenn Sie nur führende und nachgestellte Leerräume jeder Zeile entfernen wollen, ohne einen Tiefenbaum zu erhalten; bevorzugen Sie data.json_format, wenn die Nutzlast JSON ist, das mit fester Einrückung pretty-geprinted werden soll; bevorzugen Sie diese Fähigkeit, wenn Menschen bereits hierarchischen Klartext oder codeähnliche Blöcke geschrieben haben und Sie eine einheitliche Basiseinheit brauchen. Fehlgeschlagene Aufgaben mit invalid_input verbrauchen kein Prepaid-Guthaben, was Formularvalidierung und negative CI-Tests günstig hält.

CI- und Linter-Preprocessor

Pipelines lehnen gemischte Tabulatoren und Leerzeichen früh mit invalid_input ab oder normalisieren reine Leerzeichen-Bäume auf ein Projekt-target_unit vor Style-Checks.

Dokumentation, Tutorials und Übungs-Fixtures

Autoren und Lehrkräfte erzeugen bekannte gute eingerückte Mehrzeilenbeispiele und Fehlerfälle mit gemischtem Stil für Editoren, LMS-Tools und Golden-Tests.

Was kostet die Normalisierung der Text-Einrückung?

Das Browser-Werkzeug ist kostenlos. API-Anfragen nutzen Prepaid-KIT-Guthaben zu $0.002 pro erfolgreichem Aufruf; ungültige Eingabe wird nicht berechnet.

Vollständige KIT-Dokumentation lesen →