Strengescaper

Escape eller unescape strenge i 8 formater: HTML, XML, JavaScript, Java, .Net (C#), JSON, CSV og SQL.
Al behandling sker lokalt i browseren — data uploades aldrig til nogen server.
Format:
Retning:
⚠ Sikkerhedsadvarsel: String-escaping er ikke en erstatning for parameteriserede forespørgsler. Escaping alene forhindrer IKKE SQL-injektion. Brug altid parameteriserede forespørgsler (forberedte udsagn) i produktionskode.
Sådan bruges det: Vælg et format og en retning (Escape / Unescape), og skriv eller indsæt derefter teksten — outputtet opdateres automatisk. Klik på Process for at udløse konverteringen manuelt.
For JSON-, JavaScript-, Java- og .Net-tilstande: markér Escape alle ikke-ASCII-tegn for at konvertere tegn som kinesisk til \uXXXX-sekvenser.
Unescape vender escapingen: &lt; bliver til <, \n bliver til et linjeskift osv.
HTML: Escape omdanner & < > " ' til HTML-entiteter (&amp; &lt; &gt; &quot; &#39;). Brug dette, når brugergenereret tekst indlejres i HTML for at forhindre XSS-angreb.
Unescape omdanner HTML-entiteter (&amp; &lt; &gt; &quot; &#39;) tilbage til deres oprindelige tegn. Bruger browserens egen HTML-parser til pålidelig afkodning af alle navngivne og numeriske entiteter.
XML: Escape omdanner de samme 5 tegn som HTML (& < > " ') til XML-sikre entiteter. XML kræver, at alle &-tegn escapes, selv i attributværdier.
Unescape omdanner XML-entiteter tilbage til deres oprindelige tegn. Håndterer de 5 foruddefinerede XML-entiteter plus numeriske tegnreferencer. Samme logik som HTML-unescape.
JavaScript: Escape omdanner specialtegn til JavaScript-escape-sekvenser: \n \t \\ \" \' \xHH \uHHHH \u{H...}. Brug dette, når JavaScript-strengliteraler genereres dynamisk.
Unescape omdanner JavaScript-escape-sekvenser (\n \t \xHH \uHHHH osv.) tilbage til bogstavelige tegn. Håndterer alle standard ECMAScript-escape-sekvenser, inklusive \u{H...} kodepunkt-escapes.
JSON: Escape omdanner \", \\ og kontroltegn til JSON-sikre escape-sekvenser efter RFC 8259. Brug dette, når tekst indlejres i JSON-strengværdier.
Unescape omdanner JSON-escape-sekvenser (\" \\ \n \uXXXX osv.) tilbage til bogstavelige tegn. Følger RFC 8259: kun gyldige JSON-escape-sekvenser afkodes.
CSV: Escape efter RFC 4180: pakker felter i dobbelte anførselstegn, hvis de indeholder kommaer, dobbelte anførselstegn eller linjeskift. Indre dobbelte anførselstegn fordobles (" → "").
Unescape vender RFC 4180 CSV-escaping: fjerner de ydre dobbelte anførselstegn og fordobler de indre tilbage ("" → "). Håndterer felter over flere linjer og citerede kommaer korrekt.
SQL: Escape escaper enkelte anførselstegn ved at fordoble dem (' → ''), hvilket virker på tværs af alle store databaser (MySQL, PostgreSQL, SQL Server, SQLite). Dette klarer kun escaping af strengliteraler — det beskytter ikke mod SQL-injektion i dynamiske forespørgsler.
Unescape omdanner fordoblede enkelte anførselstegn ('' → ') tilbage til enkelte anførselstegn. Vender standard SQL-strengliteral-escapingen.
Java: Escape omdanner specialtegn til Java-escape-sekvenser: \n \t \r \\ \" \' \uXXXX osv. Brug dette, når Java-strengliteraler genereres.
Unescape omdanner Java-escape-sekvenser tilbage til bogstavelige tegn. Håndterer alle standard Java-escape-sekvenser, inklusive \uXXXX Unicode-escapes.
.Net (C#): Escape omdanner specialtegn til C#-escape-sekvenser: \n \t \r \a \v \0 \\ \" \uXXXX \UHHHHHHHH osv. Brug dette, når C#-strengliteraler genereres.
Unescape omdanner C#-escape-sekvenser tilbage til bogstavelige tegn. Håndterer alle standard-C#-sekvenser, inklusive \UHHHHHHHH UTF-32 og variabel længde \xHH... hex-escapes.
Escaping afhænger af konteksten

Den samme tekst har brug for forskellige escapes, alt efter hvor den havner: HTML-indhold har brug for &lt; &amp; &gt;, en attribut i dobbelte anførselstegn har desuden brug for &quot;, en JavaScript-streng har brug for backslash-escapes, og en URL har brug for procentkodning. Escaping til den forkerte kontekst er sådan, markup-injektion og XSS opstår.

Tommelfingerregel: escape til destinationen, ikke kilden — afgør efter hvor data skal hen, ikke hvor de kom fra.