Cosa fa
Lo strumento di escape delle stringhe converte il testo in una forma che può stare dentro un letterale stringa e riporta le stringhe con escape a testo normale. Supporta nove destinazioni: JSON, JavaScript, Java e C#, Python, letterali stringa SQL, campi CSV, testo e attributi XML, espressioni regolari e comandi shell POSIX. Ognuna segue le regole del proprio linguaggio, quindi il risultato si può incollare direttamente nel codice senza errori di sintassi.
Usi tipici: inserire un messaggio su più righe o un percorso Windows in un file di configurazione JSON, incorporare un frammento HTML in una stringa JavaScript, mettere tra virgolette un nome di file con spazi per uno script shell o trasformare un termine di ricerca letterale come price (USD) in un’espressione regolare che lo trovi esattamente.
Come si usa
- Scegli Escape o Unescape.
- Scegli il linguaggio o il formato.
- Incolla il testo nell’input o fai clic su Esempio. Il risultato si aggiorna mentre scrivi.
- Copia l’output, oppure premi Usa come input per invertire la conversione e verificare che si torni all’originale.
Per JSON, JavaScript, Java/C# e Python puoi anche fare l’escape di tutti i caratteri non ASCII, ottenendo una stringa puramente ASCII che resiste a qualsiasi codifica dei file.
Esempio
La stessa riga con l’escape per destinazioni diverse:
Input: He said "hi" in C:\Temp
JSON: He said \"hi\" in C:\\Temp
SQL: He said "hi" in C:\Temp (only ' is doubled)
Regex: He said "hi" in C:\\Temp
Shell: 'He said "hi" in C:\Temp'
Regole per formato
- JSON: fa l’escape di virgolette, barre rovesciate e caratteri di controllo, esattamente come
JSON.stringify. - JavaScript: in più fa l’escape di apici singoli, backtick, tabulazioni verticali e dei separatori di riga U+2028 e U+2029.
- Java / C#: escape con barra rovesciata e
\uXXXX; l’unescape accetta anche gli escape ottali di Java e\xe\Udi C#. - Python: escape con barra rovesciata con
\x,\ue\U; gli escape sconosciuti restano come sono. - SQL: raddoppia gli apici singoli per i letterali stringa SQL standard.
- CSV: racchiude il valore tra virgolette doppie e raddoppia quelle interne se contiene una virgola, una virgoletta, un a capo o spazi ai bordi.
- XML: sostituisce le cinque entità predefinite; l’unescape decodifica anche i riferimenti numerici ai caratteri.
- Espressione regolare: mette una barra rovesciata davanti a ogni carattere con significato speciale, così il pattern corrisponde al testo alla lettera.
- Shell: racchiude il valore tra apici singoli, che nelle shell POSIX disattivano ogni espansione, e scrive gli apici interni come
'\''.
Domande frequenti
› Che cosa significa fare l'escape di una stringa?
Alcuni caratteri hanno un significato speciale dentro un letterale stringa, come le virgolette che lo chiudono o un a capo. L'escape li sostituisce con una sequenza sicura, di solito una barra rovesciata seguita da una lettera, così la stringa può essere incollata nel codice, in una query o in un file senza romperlo.
› Devo incollare anche le virgolette attorno alla stringa?
No. Incolla solo il contenuto. Il risultato è ciò che va tra le virgolette nel tuo codice. Per CSV e shell, che racchiudono interi valori tra virgolette, lo strumento aggiunge da solo le virgolette esterne quando servono.
› L'escape SQL basta a evitare la SQL injection?
Raddoppiare gli apici singoli produce un letterale stringa valido, utile quando scrivi una query a mano o prepari uno script di migrazione. Nel codice di un'applicazione usa sempre query parametrizzate o prepared statement invece di costruire SQL con le stringhe.
› Perché l'unescape segnala una sequenza di escape sconosciuta?
Ogni linguaggio accetta escape diversi. JSON, per esempio, non ha \x né \0, quindi lo strumento indica la posizione della prima sequenza che il linguaggio scelto rifiuterebbe. Python lascia invariati gli escape sconosciuti come \d, proprio come fa l'interprete Python.
› Il mio testo viene caricato?
No. Escape e unescape avvengono nel browser e nulla viene inviato a un server.