Escapar e Desescapar String

Escape caracteres especiais em strings para JSON, JavaScript, Java, Python ou XML — e reverta o escape. Ferramenta essencial para lidar com strings em diferentes linguagens.

Funcionalidades

Escape para JSON
Escape para JavaScript
Escape para Java
Escape para Python
Escape para XML

Como Usar

1. Selecione a linguagem (JSON, JavaScript, Java, Python, XML).

2. Selecione Escapar ou Desescapar.

3. Cole sua string e copie o resultado.

Sobre esta ferramenta

Caracteres especiais como aspas, barras invertidas e quebras de linha precisam ser escritos como sequências de escape antes de entrar num literal de string em código ou dados. As regras mudam de uma linguagem para outra, e é aí que texto copiado e colado causa erros de sintaxe e configurações quebradas. Esta ferramenta aplica ou remove escapes para cinco destinos: JSON, JavaScript, Java, Python e XML. O escape JSON segue o JSON.stringify, então aspas, barras invertidas e caracteres de controle viram \", \\, \n e escapes \u; os modos JavaScript, Java e Python tratam aspas, barras invertidas e caracteres de controle comuns para os literais de string de cada linguagem; o XML converte &, <, >, " e ' em entidades. Cole o texto, escolha a linguagem e a direção e copie o resultado para o seu código.

Perguntas Frequentes

Quando preciso escapar uma string?
Sempre que o texto for colocado dentro de um literal de string ou de um formato de dados que usa alguns caracteres como sintaxe, por exemplo uma aspa dentro de um valor JSON, uma barra invertida de um caminho do Windows em JavaScript ou um e comercial dentro de XML.
Qual a diferença entre o escape JSON e o de JavaScript?
Strings JSON precisam usar aspas duplas e escapar caracteres de controle como \n, \t ou \u00XX. O JavaScript também aceita strings com aspas simples e template strings, então seu escape também trata aspas simples e pode escrever caracteres de controle como escapes \x.
Como as quebras de linha ficam depois do escape?
Uma quebra de linha real vira os dois caracteres \n (e um retorno de carro vira \r), então o texto inteiro cabe numa linha de código. Ao remover os escapes, elas voltam a ser quebras de linha reais.
Escapar basta para evitar ataques de injeção?
Escapar para o contexto certo ajuda, mas para SQL use consultas parametrizadas, para HTML use os templates do seu framework e, para comandos de shell, evite montar strings a partir da entrada do usuário. Escapar à mão é fácil de errar.
Por que algumas sequências continuam iguais depois de remover os escapes?
Só as sequências válidas na linguagem selecionada são convertidas. Se uma string foi escapada para outra linguagem, por exemplo entidades XML no modo JSON, mude primeiro para o modo correspondente.

Ferramentas Relacionadas