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:
<→<>→>&→&"→"'→'
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:
<→<>→>&→&"→"'→'
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: <script>alert("XSS")</script>
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
- JSON Formatter - Formateo JSON
- URL Encoder - Codificación URL
- Base64 Encoder - Codificación Base64
- Text Diff - Comparación de texto