ForHosting KIT · Utilidades de desarrollo

Escapador de cadenas C

Una comilla, una barra invertida o un salto de línea rompen una cadena en C; la herramienta convierte Hello "world", un salto de línea y line 2 en Hello \"world\"\nline 2, listo para el código. También deshace escapes y rechaza los mal formados. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Texto
Hello "world" line 2
Modo de cálculo
Escape
Comillas
Double
Obtiene
Resultado
Hello \"world\"\nline 2
Longitud
23
Literal
"Hello \"world\"\nline 2"

Insertar texto libre dentro de un literal de cadena en C o C++ es un clásico riesgo: una comilla doble cierra la cadena, una barra invertida suelta se come el carácter siguiente, un salto de línea en bruto es un error de sintaxis, y escapes octales o hexadecimales que en un registro parecen correctos pueden truncarse o ser ilegales al pegarlos en el código fuente. Este escapador de cadenas C convierte texto plano en un cuerpo de literal seguro (y en un literal entre comillas listo para pegar), y revierte el mismo mapa cuando necesita recuperar los caracteres originales. El modo escape respeta el estilo de comillas que elija—dobles para cadenas "..." ordinarias o simples para constantes de carácter—además de barras invertidas, los escapes de control habituales y, de forma opcional, formas hex o de carácter universal para no ASCII.

Cómo funcionan en la práctica los escapes de cadenas C y C++

Un literal de cadena en C o C++ es una secuencia de caracteres entre comillas dobles; las constantes de carácter usan comillas simples. Dentro de esa secuencia, una barra invertida inicia un escape: \\ se convierte en una sola barra, \" cierra con seguridad una cadena entre comillas dobles, \' hace lo mismo en constantes de carácter, y \? existe para que las cadenas de herramientas sensibles a trigrafos no malinterpreten un signo de interrogación.

Los escapes de control con nombre son estándar en C y C++: \n es un salto de línea, \r un retorno de carro, \t un tabulador, más \a alerta, \b retroceso, \f avance de página y \v tabulador vertical. Dos formas numéricas importan a diario en código de sistemas: un escape octal es una barra seguida de uno a tres dígitos octales (así \0 es un byte nulo y \101 es la letra A), y un escape hexadecimal es \x seguido de uno o más dígitos hex.

C99 y C++ también aceptan nombres de carácter universal \uXXXX y \UXXXXXXXX para fuentes Unicode portables. Esta capacidad aplica esas reglas de forma determinista. En modo escape recorre cada unidad de código, sustituye caracteres especiales por el escape seguro más corto según el estilo de comillas elegido, usa controles con nombre cuando existen, recurre a \xHH para otros bytes C0 y, opcionalmente, reescribe todo carácter no ASCII cuando hex es true.

En modo unescape analiza las mismas secuencias de vuelta a caracteres y rechaza barras finales, \x o nombres universales incompletos, dígitos no hex, puntos de código fuera de rango y escapes de letra desconocidos que serían comportamiento indefinido en una lectura estricta del lenguaje.

Qué envía usted y qué recibe a cambio

Envíe un campo de cadena obligatorio llamado text y campos opcionales mode, quote y hex. El modo escape convierte texto plano en un cuerpo de literal C/C++ almacenado en result, y también devuelve literal: el mismo cuerpo envuelto en las comillas elegidas para pegarlo en el código. El modo unescape revierte las secuencias de escape en text y devuelve la cadena plana recuperada en result sin campo literal.

Quote por defecto es double; use single cuando el destino sea una constante de carácter o una cadena entre comillas simples en un dialecto afín—escape solo fuerza un escape para ese delimitador, de modo que los apóstrofos pueden permanecer en bruto dentro de cuerpos entre comillas dobles. La respuesta repite mode, quote, hex, el text original, result y la longitud de result.

Comprobaciones clásicas incluyen escapar un saludo con comillas incrustadas y un salto de línea, desescapar un cuerpo que usa \xE9 para é o \101 para A, escapar con hex true para que lo no ASCII pase a formas \x o \u, y rechazar una cadena que termina en una barra suelta.

Dónde un escapador de cadenas C aporta valor real

Los equipos de firmware embebido y controladores de dispositivo pegan volcados de protocolo que ya contienen escapes octales y hex y necesitan una ruta de unescape que falle de forma ruidosa ante secuencias \x truncadas en lugar de inventar bytes. Los sitios de documentación y recetarios que muestran ejemplos para copiar y pegar necesitan una ruta de escape fiable para que las muestras del usuario sigan siendo literales C válidos.

Los pipelines de QA y CI comparan vectores dorados de escape y unescape entre hosts para que un salto de línea sea siempre \n bajo comillas dobles y nunca un salto de línea en bruto que fallaría al compilar. Los autores de material didáctico que enseñan la sintaxis de cadenas en C quieren ejemplos que mencionen octal y hex de forma explícita, que es la intención de búsqueda que captura esta página.

Si necesita escapes de cadenas JavaScript, entidades HTML o codificación porcentual de URL, trátelos como intenciones y páginas distintas, no sobrecargue esta página del escapador de cadenas C.

Literales de cadena seguros en código C/C++ generado

Escape títulos, mensajes y valores de configuración de texto libre antes de escribirlos en literales C entre comillas dobles o constantes de carácter entre comillas simples.

Decodificar escapes octales y hex desde registros

Desescape cuerpos de cadena al estilo C desde registros de firmware, tickets y archivos dorados a texto legible, con fallos estrictos ante escapes incompletos o ilegales.

Reescritura hex solo ASCII para cadenas de herramientas

Escape con hex true para que los caracteres no ASCII pasen a secuencias \xHH, \uXXXX o \UXXXXXXXX aptas para repositorios solo ASCII y compiladores estrictos.

¿Cuál es la diferencia entre result y literal?

Result es el cuerpo escapado sin comillas envolventes. Literal (solo en modo escape) envuelve ese cuerpo en el estilo de comillas elegido para que pueda pegar una cadena C/C++ completa en el código fuente.

¿Puedo escapar y desescapar?

Sí. Configure mode en escape (predeterminado) para codificar texto plano, o mode en unescape para recuperar texto a partir de un cuerpo de literal de cadena C/C++.

¿Qué estilos de comillas se admiten?

Double (predeterminado) para literales de cadena ordinarios, y single para el estilo de constantes de carácter. El modo escape solo escapa el delimitador que usted eligió.

¿Qué ocurre si una secuencia de escape está mal formada?

No se cobra nada por fallos de validación.

¿Cuánto cuesta?

La herramienta del navegador es gratuita y se ejecuta en local.

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/enc/c-escape

¿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/enc/c-escape \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello \"world\"\nline 2"}'
{
  "text": "Hello \"world\"\nline 2"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.c_escape",
  "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.

El modo unescape entiende \n, \r, \t, \\, \", \', \?, \a, \b, \f, \v, octal de uno a tres dígitos, \xHH, \uXXXX y \UXXXXXXXX, y falla de inmediato con invalid_input ante barras invertidas finales, hex incompleto o letras de escape desconocidas, en lugar de inventar basura a medio decodificar.

Cómo funcionan en la práctica los escapes de cadenas C y C++

La ruta es trabajo puro de cadenas sin red, sin semillas aleatorias y sin marcas de tiempo de reloj, de modo que entradas idénticas siempre producen JSON idéntico. El precio de las llamadas API correctas es la base publicada de $0.002 por ítem, y los fallos de validación no consumen saldo prepago.

Qué envía usted y qué recibe a cambio

Si se omite mode, escape es el valor predeterminado, de modo que un solo payload sigue siendo útil. Text ausente, objetos que no son cadena, valores de mode o quote no admitidos, valores que no se pueden leer como booleano para hex, cadenas más largas que el máximo documentado, barras invertidas finales, escapes hex incompletos, nombres de carácter universal incompletos, dígitos no hex, puntos de código ilegales y letras de escape desconocidas fallan con invalid_input y un mensaje claro en inglés. Los fallos de validación no consumen saldo prepago. El precio de la API en éxito es la base publicada de $0.002 por ítem.

Dónde un escapador de cadenas C aporta valor real

Como esta capacidad es un motor de análisis puro, el precio de la API es la base publicada de $0.002 por ítem correcto y la validación fallida no consume saldo.

Ver la documentación completa del KIT →