Què és la codificació de percentatge i per què és necessària?
La codificació de percentatge és un pilar fonamental de la infraestructura web moderna, dictant com es transmeten les dades a través d'Internet. En el seu origen, Internet es basa en els Identificadors de Recursos Uniformes (URI) per localitzar recursos. Tanmateix, l'especificació URI (RFC 3986) limita estrictament els caràcters que es poden utilitzar de manera segura dins d'una URL. Els caràcters permesos, coneguts com a 'caràcters no reservats', es limiten a caràcters alfanumèrics majúscules i minúscules (A-Z, a-z, 0-9), guions (-), punts (.), guions baixos (_) i titlles (~). Qualsevol altre caràcter es considera 'no segur' o 'reservat' perquè té un significat estructural especial en el format URL. Per exemple, el símbol d'ampersand (&) s'utilitza per separar paràmetres de consulta, el signe d'igual (=) assigna valors i la barra inclinada (/) defineix camins de directori. Si necessiteu transmetre el caràcter '&' com a part de les dades i no com a delimitador, s'ha de codificar en percentatge.
Quan un caràcter s'ha de codificar en percentatge, primer es converteix en el seu valor de byte corresponent segons l'estàndard de codificació de caràcters UTF-8. Cada byte es representa després per un número hexadecimal de dos dígits, precedit d'un signe de percentatge (%). Per exemple, un caràcter d'espai correspon al valor de byte 32 en decimal, o 20 en hexadecimal. Per tant, un espai es converteix en '%20'. El símbol d'arrova (@) es converteix en '%40', i una coma (,) es converteix en '%2C'. Aquesta conversió sistemàtica garanteix que els servidors web, els balancejadors de càrrega i els navegadors puguin interpretar universalment els límits de la URL sense cap ambigüitat ni corrupció de dades. Sense la codificació de percentatge, passar una cadena de consulta complexa que contingui caràcters d'usuari podria trencar l'estructura de la URL, provocant errors 400 Bad Request, enllaços trencats o vulnerabilitats de seguretat com la contaminació de paràmetres HTTP.
Històricament, diferents sistemes gestionaven la codificació URL de maneres diverses, generant problemes de compatibilitat. Per exemple, les dades de formularis enviades mitjançant application/x-www-form-urlencoded codifiquen tradicionalment els espais com a signe més (+), mentre que la norma RFC 3986 exigeix estrictament '%20'. Els marcs de desenvolupament web moderns solen abstreure aquests detalls, però comptar amb una eina robusta, fiable i 100% gratuïta per codificar cadenes manualment continua sent una necessitat absoluta per depurar, provar API i construir enllaços profunds complexos. Entenent la mecànica de la codificació de percentatge, els desenvolupadors poden assegurar que les seves aplicacions gestionin des de text ASCII estàndard fins a emojis Unicode multibyte.