Codificador/Decodificador de URL
Codifica y decodifica cadenas de URL al instante.
El texto será codificado en URL (codificación porcentual)
¿Qué es la Codificación de URL?
La codificación de URL, también conocida como codificación porcentual, es un mecanismo para codificar información en un Identificador de Recurso Uniforme (URI). Asegura que caracteres especiales y caracteres no ASCII puedan transmitirse de forma segura en URLs sin romper la estructura de la URL o causar errores de análisis.
La codificación usa un signo de porcentaje (%) seguido de dos dígitos hexadecimales. Por ejemplo, un espacio se convierte en %20, y el símbolo @ se convierte en %40. Este formato está definido en RFC 3986, el estándar para sintaxis URI.
RFC 3986 especifica qué caracteres son 'reservados' (tienen significado especial en URLs) y cuáles son 'no reservados' (seguros de usar sin codificación). Los caracteres reservados deben codificarse cuando se usan en partes de una URL donde tienen significado especial.
Cuándo Usar Codificación de URL
La codificación de URL es esencial en varios escenarios:
- Parámetros de consulta: Los valores en cadenas de consulta de URL (después de ?) deben codificarse para manejar espacios, caracteres especiales y texto no ASCII
- Segmentos de ruta: Cuando las URLs contienen contenido generado por el usuario o nombres de archivo con caracteres especiales
- Caracteres especiales: Caracteres como &, =, ?, # y espacios tienen significado especial en URLs y deben codificarse
- Caracteres internacionales: Caracteres no ASCII como é, ñ o caracteres chinos deben codificarse usando codificación porcentual UTF-8
- Formularios HTML: Los datos de formulario enviados vía método GET se codifican automáticamente en URL en la cadena de consulta
Reglas de Codificación de URL
Entender qué caracteres necesitan codificación te ayuda a crear URLs válidas:
Ejemplos Comunes de Codificación
Aquí hay ejemplos del mundo real de codificación de URL:
Errores Comunes de Codificación de URL
Evita estos errores frecuentes al trabajar con codificación de URL:
- Codificación doble: Codificar una cadena ya codificada resulta en %2520 en lugar de %20. Siempre verifica si una cadena ya está codificada antes de codificar nuevamente.
- Codificar URLs completas: Solo codifica las partes que necesitan codificación (valores de consulta, segmentos de ruta), no toda la URL incluyendo protocolo y dominio.
- Codificar barras diagonales: Las barras diagonales (/) en rutas NO deben codificarse. Solo codifícalas en valores de parámetros de consulta.
- Codificar solo parámetros de consulta: Recuerda que los segmentos de ruta con caracteres especiales también necesitan codificación, no solo cadenas de consulta.
- Sensibilidad a mayúsculas: La codificación porcentual usa hexadecimal en mayúsculas (A-F), aunque minúsculas (a-f) también es válido. Sé consistente en tu codificación.
encodeURIComponent vs encodeURI
JavaScript proporciona dos funciones de codificación con diferentes propósitos:
Codifica casi todo, incluyendo caracteres reservados. Usa esto para codificar valores de parámetros de consulta, datos de formulario o cualquier cadena que será parte de un componente de URL.
Codifica el URI pero preserva caracteres que tienen significado en URIs (como :, /, ?, #). Usa esto al codificar un URI completo que quieres mantener funcional.
Guía del Desarrollador para Codificación de URL
Mejores prácticas para manejar URLs en desarrollo web:
- urlEncoder.content.developerGuide.javascript
- urlEncoder.content.developerGuide.python
- urlEncoder.content.developerGuide.php
- urlEncoder.content.developerGuide.java
- urlEncoder.content.developerGuide.csharp
Codificación de URL y SEO
Cómo la estructura y codificación de URL impactan en la optimización de motores de búsqueda:
- urlEncoder.content.seoGuide.readableUrls
- urlEncoder.content.seoGuide.slugs
- urlEncoder.content.seoGuide.parameters
- urlEncoder.content.seoGuide.canonical
Herramientas Relacionadas
Otras herramientas útiles de codificación y web:
urlEncoder.faq.title
urlEncoder.faq.q1.question
urlEncoder.faq.q1.answer
urlEncoder.faq.q2.question
urlEncoder.faq.q2.answer
urlEncoder.faq.q3.question
urlEncoder.faq.q3.answer
urlEncoder.faq.q4.question
urlEncoder.faq.q4.answer
urlEncoder.faq.q5.question
urlEncoder.faq.q5.answer