Saltar ao contido principal
LibraTool logoLibraTool

Codificador e decodificador HTML de balde

Codifica caracteres especiais en entidades HTML ou decodifica entidades de volta a texto simple. Instantaneamente, no teu navegador.

Funciona sen conexión unha vez cargado
Saída:
Exemplos:
Texto plano / HTML
HTML codificado
A saída aparecerá aquí...
Referencia de entidades HTML comúns
&&
<&lt;
>&gt;
"&quot;
'&#39;
·&nbsp;
©&copy;
®&reg;
™&trade;
€&euro;
—&mdash;
…&hellip;

Usos habituais

  • Codifica Contido para Paxinas RSSCodifica contido HTML para descripcións de elementos de paxina RSS — requirido polo estándar RSS 2.0.
  • Sanitiza Entrada de Usuario para Saída HTMLCodifica cadeas proporcionadas polo usuario antes de inserilas en HTML — evita ataques de inxección XSS.
  • Codificar Caracteres Especiais para Correo Electrónico HTMLCodificar caracteres como &, <, >, e © como entidades HTML para que se rendericen correctamente en todos os clientes de correo.
  • Codificar Contido do Usuario para Visualización WebPrevenir ataques XSS codificando contido xerado por usuarios antes de renderizalo en páxinas HTML.
  • Codificar Contido para XMLCodificar caracteres especiais para ficheiros XML, feeds RSS, mapas do sitio e cargas SOAP.

Como funciona

A codificación e descodificación HTML aquí execútase enteiramente no teu navegador usando substitución de expresións regulares escrita a man e unha táboa de busca de entidades con nome fixa — sen biblioteca de codificación de terceiros, sen viaxe de ida e volta ao servidor. Para descodificar entidades con nome pouco comúns (como &aacute; ou &ldquo;), a ferramenta delega no propio analizador HTML do navegador como reserva sen custo.

  1. 1
    A expresión regular escanea os caracteres a substituír
    Ao codificar, execútase unha de dúas expresións regulares conscientes de Unicode sobre a túa entrada: un patrón dirixido que cobre uns 25 caracteres comúns significativos en HTML e especiais, ou un patrón máis amplo que captura cada punto de código por riba de U+007F. Cada coincidencia intercéptase carácter a carácter.
  2. 2
    A táboa de busca ou codePointAt() produce a entidade
    Para a saída de entidades con nome, os caracteres coincidentes búscanse nunha táboa fixa (por exemplo, & → &amp;, © → &copy;). Para a saída decimal ou hexadecimal, String.codePointAt() obtén o punto de código Unicode e formátao como &#NNN; ou &#xNNN; — os pares substitutos xestiónanse correctamente porque a expresión regular usa a bandeira 'u' de Unicode.
  3. 3
    Unha soa pasada de expresión regular descodifica as entidades de volta a caracteres
    Ao descodificar, unha soa pasada de expresión regular identifica todos os tokens de entidade (&amp;, &#65;, &#x41;, etc.) e encamiña cada un ao manexador correcto: parseInt hexadecimal (base 16), Number() decimal, busca inversa con nome, ou — para calquera entidade que non estea na táboa fixa — un elemento textarea cuxo innerHTML o navegador analiza de forma nativa, devolvendo o carácter correcto a partir da táboa de entidades integrada do navegador.
  4. 4
    O resultado aparece ao instante; cópiao ao portapapeis mediante a API Clipboard
    A saída recalcúlase de forma síncrona con cada pulsación de tecla mediante o useMemo de React. Copiar usa navigator.clipboard.writeText() — a moderna API Clipboard asíncrona — cunha captura silenciosa para contextos restrinxidos.

Ferramentas relacionadas

Preguntas frecuentes