Cosa fa questo strumento
Applica e rimuove il percent-encoding su stringhe per uso negli URL. Supporta sia la modalità component (codifica ogni carattere riservato in modo che il valore sia safe dentro un parametro di query o un segmento di path) sia la modalità URL completa (preserva la struttura di https://host/path?query codificando solo le parti che ne hanno bisogno).
Quando usarlo
- Costruire una query string a mano e dover escapare spazi, e-commerciali e segni di uguale.
- Decodificare un URL di redirect tornato avvolto in
%2Fe%3D. - Confrontare la forma codificata di un URL contro un'allow-list.
- Produrre un link condivisibile pulito da una stringa con caratteri non-ASCII.
Come funziona
La codifica component usa encodeURIComponent, che fa percent-encoding di ogni carattere che non sia uno non riservato (A-Z a-z 0-9 - _ . ! ~ * ' ( )). La codifica URL completa usa encodeURI, che lascia in pace i caratteri strutturali riservati (: / ? # [ ] @). La decodifica usa le funzioni inverse, con sequenze malformate segnalate come errori invece che silenziosamente scartate.
Note
Perché + si decodifica a volte come spazio? Quella è la convenzione application/x-www-form-urlencoded più vecchia usata nelle submission di form, non l'encoding URL standard. RFC 3986 lascia in pace +. La maggior parte dei decoder tratta + come spazio solo dentro la query string, mai nel path.
Dovrei usarlo sull'intero URL o solo su una parte? Codifica le parti. Se codifichi un URL completo in modalità component, romperai il :// e gli slash del path. Costruisci l'URL da pezzi pre-codificati, o usa la modalità URL completa.
Gestisce Unicode? Sì. Prima UTF-8, poi percent-encoding su ogni byte. café diventa caf%C3%A9.
Strumenti correlati
- Base64 — meccanismo di escape diverso per binario-in-testo
- Formatter JSON — per payload di body invece di query string