100 % locale — i tuoi dati non lasciano mai il tuo browser

Escape C# — un literal che compila così com’è

Fai l’escape del testo per un literal C# normale, con le sequenze \a, \v e \0 proprie di .NET: la riga compila proprio dove la incolli.

Istantaneo Privato Zero cookie

Input Text

Output .NET Escaped

Cosa fa questo strumento

Fa l’escape del testo per un literal di stringa C# normale — la forma "...", non quella verbatim @"...":

  • i backslash vengono raddoppiati;
  • " viene sottoposta a escape; ' resta com’è, dato che delimita un char e non una string;
  • \a (campanello), \v (tabulazione verticale) e \0 (NUL) vengono emessi come sequenze con nome — questi tre sono ciò che distingue l’insieme di escape del C# da quello di JavaScript;
  • a capo, ritorno a capo, tabulazione, backspace e avanzamento pagina prendono la loro consueta forma con nome;
  • i restanti caratteri di controllo diventano \uXXXX.

I caratteri non ASCII restano come sono: i sorgenti C# sono UTF-8, e un accento sottoposto a escape peggiorerebbe solo la leggibilità.

Quando serve

Quando scrivi a codice un frammento di stringa di connessione, un’espressione regolare, un percorso di file o un modello di log in un .cs. I percorsi sono il caso frequente: \\server\condivisione va raddoppiato in un literal normale, e sbagliare produce una tabulazione o un avanzamento pagina invece di un separatore di directory.

Cosa non fa

Non sceglie la forma del literal al posto tuo. Se il tuo testo è fatto soprattutto di backslash — un percorso Windows, un’espressione regolare — un literal verbatim @"..." è di solito più leggibile della forma sottoposta a escape prodotta qui, e segue un’altra regola.

Privato per progettazione

Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.

Domande frequenti

Va bene per le stringhe verbatim (@"...")?
No, e la differenza conta. In una stringa verbatim il backslash è letterale e la virgoletta doppia si sottopone a escape raddoppiandola (""). Questo strumento produce un literal normale; incollarne l'output dopo una @ trasformerebbe ogni \n in due caratteri visibili.
Cosa lo distingue dall'escaper JavaScript?
Il C# riconosce \a (campanello) e \0 (NUL) come sequenze con nome, e non ha backtick né stringhe tra apici singoli. Perciò viene sottoposta a escape solo la virgoletta doppia, e viene emesso \a dove JavaScript scriverebbe \u0007.
I caratteri accentati vengono sottoposti a escape?
No. I file sorgente C# sono UTF-8 per impostazione predefinita e "café" è perfettamente valido, quindi il testo non ASCII resta leggibile.

Convertitori correlati