Saltar al contenido
uencoder

Form Encoding

La codificación de formularios (application/x-www-form-urlencoded) es cómo los formularios HTML codifican pares clave-valor al enviarse, codificando los espacios como + en lugar de %20.

Propósito

Proporcionó una codificación más laxa que RFC 3986 para el envío temprano de formularios web, manteniendo compatibilidad con implementaciones históricas.

Mecanismo

Las claves y valores se codifican porcentualmente, pero el espacio se convierte en + en lugar de %20; los pares se unen con = y se separan con &. Los caracteres no ASCII se convierten primero a bytes en el juego de caracteres de la página (normalmente UTF-8) y luego se codifican porcentualmente.

Casos de uso

  • Envío GET/POST de formularios HTML
  • Codificación de parámetros de firma OAuth 1.0
  • Cuerpos de petición API application/x-www-form-urlencoded
  • Cuerpo de fetch con URLSearchParams

Ejemplos

  • entrada
    a=hello world&b=a+b
    Output
    a=hello+world&b=a%2Bb

    Space becomes +, and + becomes %2B

Errores comunes

Encoding a space as %20 instead of +, causing server-side parsing differences
Use URLSearchParams for form scenarios and encodeURIComponent for URL components

Términos relacionados

Herramientas relacionadas

References