# Escapar e desescapar strings

Escape texto para uma string JSON ou JavaScript, uma string SQL, um campo CSV, uma expressão regular ou uma palavra de shell, ou desfaça o escape.

https://codeknife.dev/pt/escapar-desescapar/

## O que faz

Escapa texto para que caiba numa string JSON ou JavaScript, numa string SQL, num campo CSV, numa expressão regular ou numa palavra de shell, e desfaz o escape. Cada formato escapa exatamente os caracteres de que precisa e nenhum outro.

## Como usar

1. Digite ou cole texto, ou solte um arquivo de texto.
2. Escolha para onde o texto vai (**String JSON**, **String JavaScript**, **String SQL**, **Campo CSV**, **Expressão regular** ou **Palavra de shell**) e se **Escapar** ou **Desescapar**.
3. Copie ou baixe o resultado, ou use **Usar a saída como entrada** para torná-lo a próxima entrada.

## Exemplos

Escapar `He said "it's fine"` e uma quebra de linha:

JSON dá `He said \"it's fine\"\n`, SQL dá `He said "it''s fine"` e o shell dá `'He said "it'\''s fine"'`.

## Bom saber

- JSON e JavaScript escapam a barra invertida, a aspa que envolve a string, quebras de linha e caracteres de controle. Desescapar lê `\n`, `\t`, `\uXXXX` e semelhantes; JavaScript também lê `\xHH` e `\u{…}`.
- SQL duplica a aspa simples. Isso vale para um literal escrito à mão; para código, use parâmetros vinculados.
- Um campo CSV só fica entre aspas se tiver vírgula, aspa ou quebra de linha, e as aspas dentro são duplicadas.
- Uma palavra de shell fica entre aspas simples, e uma aspa simples dentro é escrita `'\''`, para que nada seja expandido.

## Por que cada formato escapa de forma diferente?

Cada sintaxe tem seus caracteres especiais. Uma string JSON precisa de aspas, barras invertidas e caracteres de controle escapados. Uma string SQL só precisa da aspa simples duplicada. Um campo CSV é envolvido em aspas se tiver vírgula, aspa ou quebra de linha. Uma expressão regular escapa seus operadores, e uma palavra de shell fica entre aspas simples para que nada seja expandido.

## Perguntas frequentes

### Escapar basta para impedir injeção de SQL?

Não. Duplicar aspas é o que esta ferramenta mostra e serve para um literal numa consulta escrita à mão, mas não é defesa para código. Passe os valores como parâmetros vinculados, para que nunca façam parte do texto SQL.

### Qual é a diferença entre uma string JSON e uma JavaScript?

JSON permite poucos escapes e sempre usa aspas duplas. JavaScript permite também aspas simples, \x41, e escapes nos dois estilos de aspas. Desescapar como JSON recusa, portanto, sequências que o JavaScript aceitaria.

### Esta ferramenta envia meu texto para algum lugar?

Não. Tudo acontece no seu navegador. O que você digita nunca é enviado aos nossos servidores.