Saltar al contenido principal

Escape/Unescape de Cadenas

Una herramienta para escapar y desescapar caracteres especiales en cadenas para varios formatos. ¡Esencial para procesamiento de datos, desarrollo de API y trabajo frontend!

Examples:

Formatos Soportados

📝 JSON

Escapa caracteres especiales para formato JSON.

Escape:

  • Nueva línea → \n
  • Tabulación → \t
  • Comillas → \"
  • Barra invertida → \\

Casos de uso:

  • Petición/respuesta de API
  • Archivos de configuración
  • Almacenamiento de datos

🌐 HTML

Escapa caracteres especiales HTML para prevenir ataques XSS.

Escape:

  • <&lt;
  • >&gt;
  • &&amp;
  • "&quot;
  • '&#39;

Casos de uso:

  • Mostrar entrada de usuario
  • Prevención XSS
  • Generación HTML

🔗 URL

Codifica caracteres especiales para transmisión segura de URL.

Escape:

  • Espacio → %20
  • Caracteres especiales → Codificación porcentual
  • Caracteres reservados → Codificados

Casos de uso:

  • Parámetros de consulta
  • Generación de URL
  • Llamadas a endpoints de API

💻 JavaScript

Escapa caracteres especiales para cadenas JavaScript.

Escape:

  • Nueva línea → \n
  • Comillas → \' o \"
  • Barra invertida → \\
  • Unicode → \uXXXX

Casos de uso:

  • Generación dinámica de scripts
  • Procesamiento de plantillas literales
  • Generación de código

📄 XML

Escapa caracteres especiales para formato XML/HTML.

Escape:

  • <&lt;
  • >&gt;
  • &&amp;
  • "&quot;
  • '&apos;

Casos de uso:

  • Generación de documentos XML
  • API SOAP
  • Feeds RSS/Atom

Ejemplos Prácticos

Mostrar Entrada de Usuario

// Prevenir XSS
const userInput = '<script>alert("XSS")</script>';
const escaped = escapeHTML(userInput);
// Resultado: &lt;script&gt;alert(&quot;XSS&quot;)&lt;/script&gt;
document.getElementById('output').textContent = escaped;

Petición de API

// Escape JSON
const data = {
message: 'Hola\nMundo\t!'
};
const jsonString = JSON.stringify(data);
// Resultado: {"message":"Hola\\nMundo\\t!"}

Parámetros de Consulta URL

// Codificación URL
const searchQuery = 'búsqueda prueba';
const encodedQuery = encodeURIComponent(searchQuery);
// Resultado: b%C3%BAsqueda%20prueba
const url = `https://api.example.com/search?q=${encodedQuery}`;

Generación Dinámica de Código

// Escape JavaScript
const userMessage = "Es un \"gran\" día!";
const code = `console.log('${userMessage.replace(/'/g, "\\'")}');`;
// Resultado: console.log('Es un \"gran\" día!');

Consejos de Uso

1. Selección de Formato

  • JSON: Para comunicación API o almacenamiento de datos
  • HTML: Para mostrar contenido en páginas web
  • URL: Para parámetros de consulta o segmentos de ruta
  • JavaScript: Para generar código dinámicamente
  • XML: Para documentos XML o feeds RSS

2. Cuándo Es Necesario Escapar

  • ✅ Mostrar entrada de usuario
  • ✅ Transmisión de datos API
  • ✅ Generación de consultas de base de datos
  • ✅ Pasar parámetros URL
  • ✅ Generación dinámica de código

3. Cuándo Es Necesario Desescapar

  • ✅ Procesar datos API recibidos
  • ✅ Analizar parámetros de consulta
  • ✅ Restaurar datos almacenados
  • ✅ Procesar datos codificados en URL

Consideraciones de Seguridad

Prevención XSS

Siempre escapar al mostrar entrada de usuario:

// ❌ Peligroso
element.innerHTML = userInput;

// ✅ Seguro
element.textContent = userInput;
// o
element.innerHTML = escapeHTML(userInput);

Prevención de Inyección SQL

Usar consultas parametrizadas en lugar de escapar:

// ❌ Peligroso
const query = `SELECT * FROM users WHERE name = '${userInput}'`;

// ✅ Seguro
const query = 'SELECT * FROM users WHERE name = ?';
db.execute(query, [userInput]);

Notas

  • Diferentes formatos requieren diferentes métodos de escape
  • Escape ≠ Codificación (conceptos diferentes)
  • También es necesaria la validación del lado del servidor
  • Cuidado con doble escape/unescape
  • Usar funciones integradas para cada lenguaje

Herramientas Relacionadas