CoderTools

Codificador/Decodificador de URL | CoderTools

Descripción

Acerca de la codificación de URL

La codificación de URL, también conocida como codificación por porcentajes, es un mecanismo para codificar información en un Identificador de Recurso Uniforme (URI) bajo ciertas circunstancias. Consiste en sustituir ciertos caracteres por uno o más tripletes de caracteres que consisten en el carácter de porcentaje '%' seguido de dos dígitos hexadecimales.

La codificación de URL es necesaria cuando una URL contiene caracteres que no están permitidos en URLs, o cuando los caracteres tienen un significado especial en la sintaxis de URL. Esto asegura que las URLs puedan ser transmitidas de forma segura por internet sin importar los caracteres que contengan.

Nota: Diferentes partes de una URL (esquema, autoridad, ruta, consulta, fragmento) tienen diferentes reglas de codificación. Esta herramienta usa codificación URL estándar adecuada para parámetros de consulta y datos de formulario.

Caracteres comunes y sus codificaciones

Carácter Codificado URL Descripción
Space %20 Carácter de espacio
! %21 Signo de exclamación
" %22 Comillas
# %23 Almohadilla/Identificador de fragmento
% %25 Carácter de porcentaje
& %26 Ampersand/Separador de consulta
+ %2B Signo más
= %3D Signo igual/Separador de valor de consulta
? %3F Signo de interrogación/Indicador de consulta

Casos de uso comunes

Ejemplos

Ejemplo 1: Parámetro de consulta

Original: Hello World!

Encoded: Hello%20World%21

Ejemplo 2: Dirección de email

Original: [email protected]

Encoded: user%40example.com

Ejemplo 3: Consulta compleja

Original: search=JavaScript & Node.js

Encoded: search%3DJavaScript%20%26%20Node.js

Referencias y lecturas adicionales

Mejores prácticas

Usar encodeURIComponent() para Parámetros de Consulta

En JavaScript, use encodeURIComponent() para valores individuales de parámetros de consulta. Codifica todos los caracteres especiales incluyendo &, = y ?. No use encodeURI() para esto.

No Doble-Codificar

Codificar URLs ya codificadas crea enlaces rotos (ej: %25 en lugar de %). Verifique si los datos ya están codificados antes de aplicar codificación nuevamente.

Codificar Solo Cuando Sea Necesario

Los caracteres alfanuméricos (A-Z, a-z, 0-9) y -_.~ no necesitan codificación. Codificar todo desperdicia ancho de banda y reduce la legibilidad de las URLs.

Usar Funciones de Biblioteca Estándar

No implemente la codificación URL manualmente. Use funciones integradas: encodeURIComponent() (JS), urllib.parse.quote() (Python), urlencode() (PHP).

Manejar los Signos Más con Cuidado

El espacio puede codificarse como + (codificación de formulario) o %20 (codificación URL). Sepa cuál espera su sistema. La mayoría de las APIs prefieren %20 para espacios.

Codificar en el Origen

Codifique los datos al construir URLs, no después. Construir una cadena URL y luego codificar todo rompe la estructura de la URL.

Solución de problemas

¿Por qué mi URL decodificada todavía tiene secuencias %XX?

La URL puede estar doble-codificada. Intente decodificar nuevamente. Esto ocurre cuando URLs ya codificadas se codifican una segunda vez.

¿Por qué mi signo + se convierte en espacio?

En datos de formulario (application/x-www-form-urlencoded), + representa espacio. En URLs, + debe codificarse como %2B si desea un signo más literal.

¿Por qué mi servidor recibe caracteres corruptos?

Desajuste de codificación. Asegúrese de que tanto el cliente como el servidor esperen valores codificados en UTF-8. Los caracteres no-ASCII deben codificarse en UTF-8 antes de la codificación por porcentaje.

¿Por qué encodeURI() no codifica mis parámetros de consulta?

encodeURI() es para URIs completas y preserva caracteres especiales como &, =, ?. Use encodeURIComponent() para valores de parámetros individuales.