100 % local — seus dados nunca saem do seu navegador

Escapar C# — um literal que compila como está

Escape texto para um literal C# normal, com as sequências \a, \v e \0 próprias do .NET: a linha compila exatamente onde você colar, sem retoques.

Instantâneo Privado Zero cookies

Entrada Text

Saída .NET Escaped

O que esta ferramenta faz

Escapa texto para um literal de string C# comum — a forma "...", não a verbatim @"...":

  • as barras invertidas são duplicadas;
  • " é escapada; ' fica como está, já que delimita um char e não uma string;
  • \a (sino), \v (tabulação vertical) e \0 (NUL) são emitidos como sequências nomeadas — esses três são o que distingue o conjunto de escapes do C# do de JavaScript;
  • quebra de linha, retorno de carro, tabulação, retrocesso e avanço de página ganham sua forma nomeada habitual;
  • os demais caracteres de controle viram \uXXXX.

Caracteres não-ASCII ficam como estão: fontes C# são UTF-8, e um acento escapado só prejudicaria a legibilidade.

Quando você precisa dela

Ao fixar no código um trecho de string de conexão, uma expressão regular, um caminho de arquivo ou um modelo de log num .cs. Caminhos são o caso comum: \\servidor\compartilhamento precisa ser duplicado num literal comum, e errar produz uma tabulação ou um avanço de página em vez de um separador de diretório.

O que ela não faz

Ela não escolhe a forma do literal por você. Se o seu texto é feito sobretudo de barras invertidas — um caminho do Windows, uma expressão regular — um literal verbatim @"..." costuma ser mais legível do que a forma escapada produzida aqui, e segue outra regra.

Privado por padrão

Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.

Perguntas frequentes

Serve para strings verbatim (@"...")?
Não, e a diferença importa. Numa string verbatim a barra invertida é literal e a aspa dupla é escapada duplicando-a (""). Esta ferramenta produz um literal comum; colar a saída dela depois de um @ transformaria cada \n em dois caracteres visíveis.
O que a diferencia do escapador de JavaScript?
O C# reconhece \a (sino) e \0 (NUL) como sequências nomeadas, e não tem crase nem string entre aspas simples. Por isso só a aspa dupla é escapada, e \a é emitido onde o JavaScript escreveria \u0007.
Caracteres acentuados são escapados?
Não. Arquivos-fonte C# são UTF-8 por padrão e "café" é perfeitamente válido, então o texto não-ASCII continua legível.

Conversores relacionados