BrowserTools
Publicidade
Início / Codificadores / Ferramenta de escape e remoção de escape

Ferramenta de escape e remoção de escape

Escapa ou remove o escape de texto para HTML, XML, JSON, JavaScript, CSV e URLs, localmente no teu navegador.

A carregar Ferramenta de escape e remoção de escape… Se nada acontecer, ativa o JavaScript.

O escape é o ato de reescrever caracteres que têm um significado especial num determinado formato para que sejam tratados como dados normais em vez de como sintaxe. Esta ferramenta escapa e remove o escape de texto para seis contextos comuns: HTML, XML, cadeias JSON, cadeias JavaScript, campos CSV e URLs. Escolhe o contexto, seleciona escapar ou remover o escape, e o resultado atualiza-se à medida que escreves.

Perguntas frequentes

Qual é a diferença entre o escape de HTML e o de XML aqui?
São quase idênticos: ambos transformam &, <, >, " e ' em entidades. A principal diferença prática é o apóstrofo, que o XML escreve como &apos; enquanto o HTML usa frequentemente &#39; para maior compatibilidade. A remoção de escape lida com entidades nomeadas e formas decimais (&#39;) e hexadecimais (&#x27;).
Porque é que o escape de cadeias JSON e JavaScript parece igual?
Porque a sintaxe de cadeias do JSON é um subconjunto estrito da do JavaScript. Ambos escapam aspas duplas, barras invertidas e caracteres de controlo como mudanças de linha (\n) e tabulações (\t). A ferramenta produz o conteúdo interior de um literal de cadeia, sem as aspas que o rodeiam, para que o possas inserir diretamente no teu código ou nos teus dados.
Como funciona o escape CSV?
Um campo CSV só precisa de aspas quando contém uma vírgula, uma aspa dupla ou uma mudança de linha. Nesse caso o campo é envolvido entre aspas duplas e qualquer aspa dupla no seu interior é duplicada (" passa a ""). Os campos sem esses caracteres ficam intactos, o que corresponde ao RFC 4180.
O modo URL codifica o URL inteiro ou apenas um componente?
Usa codificação de componente (o equivalente a encodeURIComponent), que codifica em percentagem caracteres reservados como /, ?, & e =. Essa é a escolha correta para um único valor de cadeia de consulta ou segmento de caminho. Para trabalhar num URL completo com a sua estrutura intacta, usa a ferramenta dedicada de codificação de URL.
Escapar é o mesmo que cifrar?
Não. O escape apenas muda a forma como os caracteres são representados para que um analisador os leia como dados, e qualquer pessoa pode revertê-lo instantaneamente. Não oferece qualquer sigilo. Para confidencialidade precisas de cifragem real, não de escape nem de codificação.
A minha entrada é enviada para algum lado?
Não. Todo o escape e remoção de escape acontece localmente no teu navegador, por isso os payloads, os tokens e os dados exportados nunca saem do teu dispositivo.

Sobre Ferramenta de escape e remoção de escape

A razão pela qual isto importa é a segurança e a correção. Colocar um sinal de menor que sem escape em HTML pode quebrar a página ou abrir uma falha de cross-site scripting; uma aspa sem escape dentro de uma cadeia JSON faz com que todo o documento não seja analisado; uma vírgula num campo CSV desloca todas as colunas seguintes. Cada formato tem as suas próprias regras: HTML e XML usam entidades como &lt; e &amp;, JSON e JavaScript usam sequências com barra invertida como \" e \n, o CSV envolve um campo entre aspas duplas e duplica qualquer aspa interior, e os URLs codificam em percentagem os caracteres reservados em formas como %20.

Tudo corre localmente no teu navegador, por isso podes colar payloads de API, excertos e dados exportados sem que saiam do teu dispositivo. As direções de escape e de remoção de escape são inversas exatas para uma entrada bem formada, e um botão 'Usar a saída como entrada' permite-te encadear ou reverter uma transformação com um único clique.

O caractere de escape

A ideia de um 'caractere de escape', um símbolo que muda o significado do seguinte, é suficientemente antiga para anteceder a informática moderna. O código de controlo ASCII 27, ainda enviado pela tecla Escape, era usado pelos terminais para introduzir sequências de controlo, e a barra invertida foi adotada pela linguagem C no início da década de 1970 para incorporar aspas e mudanças de linha dentro de literais de cadeia. Essa convenção da barra invertida espalhou-se para quase todas as linguagens que se seguiram, e é por isso que o escape de JSON e JavaScript parece tão familiar.

A web acrescentou a sua própria camada. O HTML herdou as entidades com e comercial do SGML para que os autores pudessem escrever um sinal de menor que literal sem iniciar uma etiqueta, e a codificação percentual de URL foi definida para que os endereços pudessem viajar em segurança por sistemas que só compreendiam um conjunto limitado de caracteres ASCII. Cada esquema resolve o mesmo problema subjacente com um disfarce diferente: como dizer 'trata este caractere como dados, não como instrução'.

Publicidade
Publicidade
Publicidade