ForHosting KIT · Utilidades de desarrollo

Elimine códigos de escape ANSI de textos y registros

La salida de una terminal suele contener secuencias de control ANSI invisibles que añaden colores, negrita, movimientos del cursor, títulos de ventana y otros efectos visuales.

● BetaGratis · en su navegador
Úselo desde WebAPIEmailTelegramApp pronto

Estas instrucciones resultan útiles en una consola interactiva, pero se convierten en caracteres molestos al copiar registros en incidencias, informes, índices de búsqueda o conjuntos de datos. Esta herramienta elimina los códigos de color y formato ANSI sin alterar el mensaje, los espacios ni los saltos de línea. Pegue la salida para limpiarla en su navegador o envíela a la API como parte de un flujo automatizado.

Convierta la salida decorada de la terminal en texto útil

Los programas de línea de comandos suelen detectar la terminal y decorar su salida con colores, énfasis, controles del cursor, hipervínculos o instrucciones para cambiar el título. La pantalla interpreta esos bytes y muestra un mensaje ordenado en vez de la sintaxis de control subyacente. El problema aparece cuando esa salida se redirige, se copia desde un sistema de compilación, se guarda en una base de datos o se pega en una solicitud de soporte. Las secuencias de escape pueden verse como fragmentos entre corchetes, dificultar las búsquedas, aumentar las diferencias y volver poco fiable el procesamiento automático. Esta herramienta recorre el texto y descarta las secuencias ANSI reconocidas, pero conserva los caracteres Unicode, los espacios y la estructura de líneas. Admite colores SGR, órdenes CSI, cadenas OSC y otros controles relacionados. El resultado queda listo para leerlo, copiarlo, indexarlo, compararlo o pasarlo a otro analizador sin instrucciones de presentación mezcladas con el contenido.

Cómo trata las secuencias de escape el analizador determinista

El limpiador lee el texto una sola vez, desde el principio hasta el final. Cuando encuentra un indicador ESC o un control C1 equivalente de un byte, comprueba los intervalos definidos para la sintaxis de control de terminal y consume la secuencia completa. Reconoce las órdenes CSI mediante sus bytes de parámetros, intermedios y finales; así cubre cambios de color, reinicios, borrado de líneas y movimiento del cursor sin depender de una lista frágil de órdenes. Los controles de cadena OSC, DCS, SOS, PM y APC se eliminan hasta BEL o el terminador de cadena. Si falta el terminador, todo lo que sigue se considera parte del control. El texto normal se copia exactamente, incluidos emojis, escrituras no latinas, tabulaciones, retornos de carro y saltos de línea. La respuesta indica cuántas secuencias se eliminaron y si hubo cambios. No se emula una terminal: se quitan las instrucciones sin reorganizar los caracteres visibles.

Use salidas limpias con seguridad en registros y automatizaciones

Use esta capacidad justo después de capturar la salida de un proceso que pueda forzar colores o formatos, sobre todo si no puede configurarlo para producir texto sin estilos. El valor limpio puede enviarse a un agregador de registros, un índice de texto completo, un informe de incidente, una prueba de instantáneas, una notificación o una fase de extracción estructurada. Como el algoritmo es determinista, una entrada idéntica siempre genera la misma salida, algo esencial para artefactos de compilación y comparaciones de regresión. No realiza solicitudes de red, no ejecuta el texto recibido ni interpreta órdenes de shell incluidas en él. Eliminar ANSI normaliza, pero no sustituye el escape específico que requieren HTML, SQL, CSV o el shell. Algunas aplicaciones sobrescriben líneas con retornos de carro o retrocesos; esos controles ordinarios se conservan. Si necesita reconstruir la posición del cursor, emule primero la terminal. Para registros coloreados habituales, esta limpieza conserva el contenido y elimina el ruido visual.

Limpiar registros de integración continua

Elimine colores y órdenes del cursor antes de adjuntar una compilación a una incidencia, un informe o un archivo consultable.

Estabilizar comparaciones de instantáneas

Normalice la salida decorada para que las pruebas comparen el mensaje y no el estilo de terminal dependiente del entorno.

Preparar registros para procesar texto

Envíe texto legible a búsquedas, clasificaciones, analizadores o alertas sin instrucciones ANSI que contaminen campos y tokens.

¿Qué elimina la herramienta?

Elimina secuencias de escape ANSI usadas para colores, atributos de texto, controles del cursor, órdenes de terminal, hipervínculos y cadenas de control.

¿Conserva los saltos de línea y el texto Unicode?

Sí. Los caracteres ordinarios, incluido Unicode, las tabulaciones, los retornos de carro y los saltos de línea permanecen en su orden original.

¿Se representa el movimiento del cursor antes de limpiar?

No. La herramienta elimina las instrucciones de terminal, pero no emula una pantalla ni reorganiza caracteres según el movimiento del cursor.

¿Qué ocurre con una cadena OSC u otro control sin terminar?

La secuencia y todo lo posterior a su indicador se eliminan, porque el contenido restante no puede distinguirse con seguridad de su carga.

¿Puedo usar directamente el resultado como HTML u orden de shell?

No debe darlo por supuesto. Eliminar ANSI no sustituye el escape ni la validación específica del destino.

¿Cuánto cuesta una solicitud a la API?

Cada solicitud a la API cuesta $0.002. El mismo limpiador determinista también puede ejecutarse en su navegador.

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.

POSThttps://api.kit.forhosting.com/str/remove-ansi

¿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.

curl -X POST https://api.kit.forhosting.com/str/remove-ansi \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"\u001b[32mBuild passed\u001b[0m\n\u001b[1;33m2 warnings\u001b[0m"}'
{
  "text": "\u001b[32mBuild passed\u001b[0m\n\u001b[1;33m2 warnings\u001b[0m"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.remove_ansi",
  "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.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Ver la documentación completa del KIT →