Che cos'è la codifica percent e perché è necessaria?
La codifica percent è un pilastro fondamentale dell'infrastruttura web moderna, che regola il modo in cui i dati vengono trasmessi su Internet. I web si affida agli Identificatori Uniformi di Risorse (URI) per individuare le risorse, ma la specifica URI (RFC 3986) limita i caratteri che possono essere utilizzati in sicurezza all'interno di un URL. I caratteri consentiti 'non riservati' includono caratteri alfanumerici (A-Z, a-z, 0-9), trattini (-), punti (.), trattini bassi (_) e tilde (~). Tutti gli altri caratteri sono considerati 'non sicuri' o 'riservati' poiché hanno un significato strutturale. Ad esempio, la commerciale (&) separa i parametri di query, il segno di uguale (=) assegna valori e la barra (/) definisce i percorsi delle directory. Per trasmettere il carattere '&' come dato, deve essere codificato in percent.
Quando un carattere viene codificato, viene convertito nel valore di byte UTF-8 corrispondente. Ogni byte viene quindi rappresentato da un numero esadecimale a due cifre preceduto dal simbolo %. Ad esempio, uno spazio corrisponde al byte 32 in decimale, ovvero 20 in esadecimale, diventando '%20'. Il simbolo '@' diventa '%40' e la virgola (,) '%2C'. Questa conversione garantisce che i server web e i browser interpretino gli URL senza ambiguità.
Storicamente, vari sistemi gestivano la codifica URL in modi differenti. I moduli HTML spesso codificano gli spazi con un '+' mentre la specifica RFC 3986 impone '%20'. Sebbene i framework moderni gestiscano questi dettagli, disporre di uno strumento gratuito per la codifica manuale rimane indispensabile per il debug, il collaudo di API e la creazione di link. Comprendere questo meccanismo assicura la corretta gestione sia del testo semplice che delle emoji Unicode.