ForHosting KIT · Entwickler-Tools

JS-String-Escaper

Ein Text mit Anführungszeichen und Zeilenumbruch, etwa Hello "world" über zwei Zeilen, wird zu Hello \"world\"\nline 2 und lässt sich zwischen doppelte Anführungszeichen einfügen. Wählen Sie doppelte, einfache oder Backtick-Anführungszeichen, oder wandeln Sie maskierten Text zurü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
Hello "world" line 2
Berechnungsmodus
Escape
Anführungszeichen
Double
Erhalten Sie
Ergebnis
Hello \"world\"\nline 2
Länge
23
Literal
"Hello \"world\"\nline 2"

Freien Text in ein JavaScript-String-Literal einzubetten ist ein alltäglicher Stolperstein: ein einziges doppeltes Anführungszeichen beendet den String, ein Backslash verschluckt das nächste Zeichen, ein roher Zeilenumbruch ist ein Syntaxfehler, und eingefügter Nicht-ASCII-Text kann ältere Werkzeuge brechen, die \uXXXX erwarten. Dieser JavaScript-String-Escaper wandelt Klartext in einen sicheren Literal-Körper um (und in ein anführungszeichen-umschlossenes Literal zum Einfügen) und kehrt dieselbe Abbildung um, wenn Sie die Originalzeichen zurück benötigen. Der Escape-Modus berücksichtigt den gewählten Anführungsstil — doppelt, einfach oder Backtick — sowie Backslashes, die üblichen Steuer-Escapes und optional Unicode-Escapes für jeden Nicht-ASCII-Codepunkt.

Wie JavaScript-String-Escapes in der Praxis funktionieren

Ein JavaScript-String-Literal ist eine Zeichenfolge in doppelten Anführungszeichen, einfachen Anführungszeichen oder Backticks. Darin startet ein Backslash ein Escape: \\ wird zu einem Backslash, \" oder \' entspricht dem gewählten Anführungszeichen, \n ist ein Zeilenvorschub, \r ein Wagenrücklauf, \t ein Tabulator, und Kurzformen wie \0, \b, \f und \v decken weitere Steuerzeichen ab. Zwei hexadezimale Formen sind in modernen Engines Standard: \xHH kodiert eine Code-Einheit mit zwei Hexadezimalziffern, und \uXXXX kodiert eine UTF-16-Code-Einheit mit vier Ziffern.

ES6 erlaubt außerdem geschweifte Klammern im Stil \u{1F600} für jeden Unicode-Codepunkt bis U+10FFFF — der saubere Weg, Zeichen außerhalb der Basic Multilingual Plane ohne manuelle Surrogatpaare darzustellen. Diese Fähigkeit wendet diese Regeln deterministisch an. Im Escape-Modus durchläuft sie jede Code-Einheit, ersetzt Sonderzeichen durch das kürzeste sichere Escape für den gewählten Anführungsstil, escapet stets U+2028 und U+2029, damit mehrzeiliges Einfügen keine Quellzeilen bricht, und schreibt optional jedes Nicht-ASCII-Zeichen als \uXXXX oder \u{…} um, wenn unicode true ist.

Im Unescape-Modus parst sie dieselben Sequenzen und verwirft abschließende Backslashes, unvollständige \x- oder \u-Formen, leere \u{}, Codepunkte außerhalb des Bereichs und veraltete Oktal-Escapes, die nur in lockeren Annex-B-Modi existieren.

Wo ein JS-String-Escaper echten Nutzen stiftet

Dokumentations- und Rezeptseiten mit Copy-Paste-Beispielen brauchen einen zuverlässigen Escape-Pfad, damit nutzerseitige Proben gültiges JavaScript bleiben. Support- und Security-Teams fügen Log-Fragmente ein, die bereits Backslash-Escapes enthalten, und brauchen Unescape, das bei abgeschnittenen \u-Sequenzen klar scheitert statt Zeichen zu erfinden. Lokalisierungsingenieure prüfen, dass Mehrbyte-Sprachen bei erzwungenem Unicode-Modus für ASCII-only-Repositories rundlaufen.

Lehrende der ECMAScript-String-Syntax wollen eine eigene Seite für Literal-Escapes statt das Thema unter einem generischen Base64- oder HTML-Entitäten-Werkzeug zu vergraben, weil Suchintention und erlaubte Escape-Mengen sich unterscheiden. Wenn Sie HTML-Entitäten, URL-Prozentkodierung oder vollständiges JavaScript-Parsing brauchen, behandeln Sie das als getrennte Suchintentionen und Landings statt diese String-Escaper-Seite zu überladen.

Sichere String-Literale im generierten Code

Escapen Sie Freitext-Titel, Meldungen und Konfigurationswerte, bevor Sie sie in JavaScript mit doppelten, einfachen oder Template-Literal-Anführungszeichen schreiben.

Unicode-Umschreibung nur ASCII

Escapen Sie mit unicode true, damit Nicht-ASCII-Zeichen zu \uXXXX- oder \u{…}-Sequenzen werden, geeignet für ASCII-only-Repositories und ältere Toolchains.

Was ist der Unterschied zwischen result und literal?

Result ist der escapete Körper ohne umgebende Anführungszeichen. Literal (nur im Escape-Modus) umschließt diesen Körper im gewählten Anführungsstil, damit Sie einen vollständigen JavaScript-String in den Quellcode einfügen können.

Kann ich sowohl escapen als auch unescapen?

Ja. Setzen Sie mode auf escape (Standard), um Klartext zu kodieren, oder mode auf unescape, um Text aus einem JavaScript-String-Literal-Körper wiederherzustellen.

Welche Anführungsstile werden unterstützt?

Doppelt (Standard), einfach und Backtick. Der Escape-Modus escapet nur den gewählten Begrenzer; der Backtick-Modus escapet auch ${, damit der Körper in einem Template-Literal sicher ist.

Warum werden U+2028 und U+2029 immer maskiert?

Diese beiden unsichtbaren Zeichen, Zeilen- und Absatztrenner, können eine Quelltextzeile zerbrechen, wenn sie in einen String eingefügt werden. Werden sie stets maskiert, bleibt auch ein mehrzeiliger Text sicher einfügbar.

Wie mache ich aus Umlauten \u-Sequenzen?

Schalten Sie beim Maskieren die Unicode-Option ein. Dann wird jedes Zeichen außerhalb von ASCII umgeschrieben, aus café wird caf\u00E9, und Zeichen jenseits des Grundbereichs erhalten die Form \u{…}.

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/js-string-escape

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/js-string-escape \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello \"world\"\nline 2"}'
{
  "text": "Hello \"world\"\nline 2"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.js_string_escape",
  "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.

Der Unescape-Modus versteht \n, \r, \t, \\ , \xHH, \uXXXX und \u{…} und schlägt bei abgeschnittenen oder unzulässigen Sequenzen sofort mit invalid_input fehl, statt halb dekodierten Müll zu erfinden.

Wie JavaScript-String-Escapes in der Praxis funktionieren

Der Pfad ist reine String-Arbeit ohne Netzwerk, ohne Zufallssamen und ohne Wanduhr, sodass identische Eingaben stets dasselbe JSON erzeugen. Der Preis erfolgreicher API-Aufrufe ist die veröffentlichte Basis von $0.002 pro Element; Validierungsfehler verbrauchen kein Prepaid-Guthaben.

Was Sie senden und was Sie zurückerhalten

Der Escape-Modus wandelt Klartext in einen JavaScript-Literal-Körper in result um und liefert außerdem literal: denselben Körper in den gewählten Anführungszeichen zum Einfügen in den Quellcode. Der Unescape-Modus kehrt Escape-Sequenzen in text um und liefert den wiederhergestellten Klarstring in result ohne literal-Feld. Quote ist standardmäßig double; setzen Sie single oder backtick, wenn die Zielsyntax diese Begrenzer nutzt — Escape erzwingt nur das Escape dieses Begrenzers (und bei Backticks der Sequenz ${, die eine Interpolation öffnen würde). Klassische Prüfungen: einen Gruß mit eingebetteten Anführungszeichen und Zeilenumbruch escapen, einen Körper mit \u00E9 für é unescapen, mit unicode true escapen, sodass café zu caf\u00E9 wird, und einen String ablehnen, der mit einem nackten Backslash endet. Senden Sie ein Pflicht-Stringfeld namens text sowie optionale Felder mode, quote und unicode. Fehlt mode, ist escape der Standard und ein einzelnes Payload bleibt nützlich. Die Antwort spiegelt mode, quote, unicode, den ursprünglichen text, result und die length von result. Fehlender text, Nicht-String-Objekte, nicht unterstützte mode- oder quote-Werte, nicht als Boolean lesbare unicode-Werte, Strings über dem dokumentierten Maximum, abschließende Backslashes, unvollständige Hex-Escapes, Nicht-Hex-Ziffern, leere Klammern-Escapes, unzulässige Codepunkte und abgelehnte Oktalformen schlagen mit invalid_input und einer klaren englischen Meldung fehl. Validierungsfehler verbrauchen kein Prepaid-Guthaben. Der erfolgreiche API-Preis ist die veröffentlichte Basis von $0.002 pro Element.

Wo ein JS-String-Escaper echten Nutzen stiftet

Weil diese Fähigkeit eine reine Parse-Engine ist, beträgt der API-Preis die veröffentlichte Basis von $0.002 pro erfolgreichem Element und fehlgeschlagene Validierung verbraucht kein vorausbezahltes Guthaben.

Escapete Log- und Fixture-Körper dekodieren

Unescapen Sie JavaScript-String-Körper aus Logs, Tickets und Golden-Dateien zurück zu lesbarem Text, mit harten Fehlern bei unvollständigen oder unzulässigen Escapes.

Was passiert bei einer fehlerhaften Escape-Sequenz?

Unescape schlägt mit invalid_input fehl und nennt Position sowie die schlechte Sequenz (zum Beispiel ein abschließender Backslash oder unvollständiges \uXXXX). Für Validierungsfehler wird nichts berechnet.

Was kostet es?

Das Browser-Werkzeug ist kostenlos und läuft lokal. API-Anfragen nutzen vorausgezahltes KIT-Guthaben zu $0.002 pro erfolgreichem Element; ungültige Eingabe wird nicht berechnet.

Vollständige KIT-Dokumentation lesen →