Entidades HTML a numéricas
Pase las entidades HTML de nombre a número y al revés: © se convierte en © y — en —, para que el marcado atraviese analizadores XML y pasarelas de correo que no conocen todos los nombres. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- Copyright © 2024 — all rights reserved
- Modo de cálculo
- To numeric
- Resultado
- Copyright © 2024 — all rights reserved
- Convertido
- 2
- Codificación
- entity_named_to_numeric
- Longitud de entrada
- 49
Autores HTML e ingenieros de pipelines suelen necesitar el mismo carácter en dos formas: una entidad con nombre como © o —, o una referencia numérica como © o —. Las formas con nombre se leen mejor en el código fuente; las numéricas viajan mejor por parsers XML, clientes de correo y procesadores estrictos que no incluyen la tabla completa de nombres HTML. Esta capacidad reescribe entidades HTML con nombre en sus referencias numéricas decimales equivalentes, y devuelve las referencias numéricas a las formas con nombre preferidas cuando el punto de código es conocido. El camino es totalmente determinista: el mismo texto y modo siempre dan el mismo resultado, sin llamadas de red, sin sales aleatorias y sin atajos dependientes de la fecha.
Entidades con nombre frente a referencias numéricas de carácter
Una entidad HTML con nombre es un escape mnemónico como © para el signo de copyright o — para la raya em. Una referencia numérica de carácter codifica el mismo escalar Unicode en forma decimal © o hexadecimal ©. Ambas son válidas en HTML; las formas numéricas se exigen en algunos dialectos XML y se prefieren cuando el consumidor puede no conocer todos los nombres HTML5.
Esta herramienta no codifica texto plano en bruto en entidades ni decodifica entidades a glifos visibles para mostrarlas: ese es otro trabajo del codificador general de entidades HTML. Aquí el contrato es solo la conversión de formato entre referencias con nombre y numéricas que ya aparecen en la cadena. Se acepta entrada hexadecimal; la salida numérica correcta usa siempre la forma decimal para que goldens y diffs permanezcan estables byte a byte.
Los ampersands sueltos que no forman una entidad completa terminada en punto y coma se dejan intactos, lo que evita que borradores incompletos exploten y aún así detecta nombres completos pero desconocidos como ¬anentity;.
Dónde la conversión de nombre a numérico aporta valor
Los pipelines de HTML para correo suelen partir de contenido CMS lleno de , ’ y — y deben salir por pasarelas que solo garantizan referencias numéricas. Los serializadores XML y los embebidos SVG prefieren igualmente &#N; frente a nombres que no forman parte de XML 1.0. Los ingenieros de calidad fijan ambas direcciones en pruebas de contrato para que un middleware no cambie en silencio cómo se emiten & o € entre versiones.
Los equipos de localización y accesibilidad usan la misma conversión al auditar que las entidades de copyright, marca y puntuación sigan siendo coherentes entre plantillas. Los formadores demuestran la diferencia entre entidades con nombre, referencias decimales y hexadecimales con un único oráculo determinista. Combine esta landing con el codificador general de entidades HTML cuando necesite escapar ampersands y corchetes angulares del texto plano, y con herramientas de puntos de código Unicode cuando necesite tokens U+XXXX en lugar de referencias HTML.
Intención de búsqueda distinta, misma fiabilidad de parseo puro que el resto del catálogo de codificación de nivel A.
Qué puede hacer con ella
Normalización de entidades en correo y XML
Reescriba entidades con nombre del CMS como © y — en referencias numéricas decimales antes de enviar HTML por procesadores estrictos de correo o XML.
Limpieza numérica legible para editores
Convierta volcados legados © y — de nuevo en entidades con nombre legibles para editores humanos y revisiones de plantillas.
Preguntas frecuentes
¿En qué se diferencia esta herramienta de un codificador general de entidades HTML?
Un codificador general convierte caracteres especiales en entidades y decodifica entidades a glifos. Esta herramienta solo reescribe referencias con nombre en numéricas (y al revés) sin convertir en escapes el texto que no es entidad.
¿Qué ocurre si una entidad con nombre es desconocida?
No se reescribe nada y la llamada no se factura.
¿Por qué convertir entidades con nombre en referencias numéricas?
Porque las numéricas viajan mejor. Los analizadores XML, algunos clientes de correo y los procesadores estrictos no incluyen la tabla completa de nombres HTML, y algunos dialectos XML exigen números, mientras que © se entiende en todas partes como el signo de copyright.
¿Se aceptan referencias hexadecimales como ©?
Sí, como entrada. Al pasar de número a nombre, © se convierte en © igual que ©. Cuando el resultado es numérico, siempre se escribe en decimal para que la salida sea idéntica en cada ejecución.
¿Qué pasa con un ampersand que no forma parte de una entidad?
Se deja tal cual. Solo se convierten las entidades completas que terminan en punto y coma, así que un ampersand suelto en un borrador no estropea el resto del texto.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/enc/entity-named-to-numeric \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Copyright © 2024 — all rights reserved"}'const res = await fetch("https://api.kit.forhosting.com/enc/entity-named-to-numeric", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Copyright © 2024 — all rights reserved"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/entity-named-to-numeric",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Copyright © 2024 — all rights reserved"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/entity-named-to-numeric", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Copyright © 2024 — all rights reserved"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Copyright © 2024 — all rights reserved"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/entity-named-to-numeric", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "Copyright © 2024 — all rights reserved"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.entity_named_to_numeric",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Los nombres desconocidos se informan con un error invalid_input para que los errores tipográficos no permanezcan en silencio en el marcado de producción.
Entidades con nombre frente a referencias numéricas de carácter
En el modo to_numeric cada &name; bien formado se busca en un mapa fijo de nombres XML, HTML4 y HTML5 de uso frecuente y se reescribe como token decimal estable &#N;. En el modo to_named cada &#N; o &#xH; bien formado se mapea al nombre preferido cuando ese punto de código está registrado, de modo que — pasa a — y © a ©.
Contrato de entrada, modos e informe de nombres desconocidos
Envíe por POST un cuerpo JSON con el campo de cadena obligatorio text que contiene el fragmento a convertir. Se aceptan los alias input, value, s y html para que formularios y clientes SDK reutilicen nombres de campo existentes. El modo por defecto es to_numeric y puede fijarse a to_named; los alias op, direction y action apuntan al mismo interruptor. En to_numeric el manejador solo busca entidades con nombre, reescribe cada nombre conocido a &#codepoint; y, si aparece un nombre completo desconocido, falla con invalid_input cuyo mensaje enumera cada nombre desconocido distinto para que pueda corregir el origen en una sola pasada. En to_named el manejador busca referencias numéricas decimales y hexadecimales, reescribe los puntos de código conocidos a sus nombres preferidos y deja los no mapeados como referencias decimales normalizadas, contándolos en unmapped_numeric cuando ese recuento es mayor que cero. Los puntos de código sustitutos y los valores fuera del rango escalar Unicode provocan invalid_input en lugar de emitir UTF-16 roto. La carga de éxito siempre incluye result, mode, encoding fijado a entity_named_to_numeric, converted como recuento de referencias reescritas, input_length, output_length y unknown_names como array vacío en el éxito. No hay red, ni Date, ni azar, de modo que la ruta gratuita del navegador y la API de pago devuelven el mismo JSON para la misma entrada. La validación fallida no se factura; las llamadas correctas cuestan el precio base publicado $0.002 por ítem.
Dónde la conversión de nombre a numérico aporta valor
Las migraciones de contenido que invierten el problema—volcados decimales legados que los editores quieren leer como entidades con nombre—usan el modo to_named para que las personas editen © en lugar de ©. En esta página el trabajo se ejecuta por completo en su navegador; a través de la API cada conversión correcta cuesta $0.002, la entrada inválida no se cobra y no se almacena nada tras la respuesta.
Casos de integración
Fixtures de CI para la forma de entidad
Genere pares deterministas de nombre a numérico y de numérico a nombre para que el middleware no altere el estilo de entidad entre versiones.
Preguntas técnicas
¿Cómo convierto © y — a forma numérica?
Envíe texto con esas entidades con nombre y mode to_numeric (el valor por defecto). La API devuelve referencias decimales como © y — más un recuento converted.
¿Puedo convertir entidades numéricas de nuevo a nombres?
Sí. Fije mode a to_named. Los puntos de código conocidos pasan a nombres preferidos como ©; los no mapeados permanecen como referencias numéricas decimales y se cuentan en unmapped_numeric cuando está presente.
¿Cuánto cuesta la conversión de entidades HTML con nombre a numéricas?
La herramienta del navegador es gratuita. Las solicitudes API usan saldo prepago KIT a $0.002 por llamada correcta; la entrada inválida no se factura.