Opțiuni Avansate
Convertește + în Spații
Când este activat, caracterele + vor fi convertite în spații. Acest lucru este util la decodificarea parametrilor de interogare.
Mod Live
Când este activat, textul va fi decodificat automat pe măsură ce tastezi.
Aceste opțiuni te ajută să controlezi modul în care caracterele codificate sunt decodificate în URL-urile tale.
Ce este decodificarea URL?
Decodificarea URL inversează percent-encoding: citește secvențele de escape %XX dintr-un URL codificat și le transformă înapoi în caracterele pe care le reprezintă. Astfel recuperezi un șir de interogare, o valoare de formular sau un segment de cale lizibil dintr-un URL pe care un browser, o API sau o linie de jurnal ți l-a oferit codificat.
Cum funcționează decodificarea URL?
Decodificarea URL urmează un proces specific pentru a converti secvențele percent-encoded înapoi în caracterele lor originale:
- Șirul de intrare este scanat pentru secvențe de escape percent-encoded (%XX)
- Fiecare %XX este convertit din cele două cifre hexazecimale înapoi la valoarea originală a octetului
- Octeții decodificați consecutivi sunt reasamblați în caractere UTF-8 (o secvență multi-octet devine un singur caracter)
- În contextul șirului de interogare, + este decodificat ca spațiu (application/x-www-form-urlencoded), în timp ce %2B rămâne un + literal
- Caracterele nerezervate și textul deja decodificat trec prin neschimbate
De ce să folosești un decodificator URL?
- Rezultat lizibil: transformă %20, %40 și %3D înapoi în spații, @ și =, astfel încât să poți citi ce spune de fapt un URL
- Text internațional: reconstruiește caracterele accentuale și non-ASCII din secvențele lor UTF-8, astfel încât %C3%A9 să fie citit din nou ca é
- Depanare: inspectează valorile reale dintr-un șir de interogare, o redirecționare OAuth sau o încărcare webhook înainte de a acționa asupra lor
- Corect din punct de vedere al standardelor: decodifică conform RFC 3986, aceleași reguli pe care le folosesc browserele și serverele, așa că vezi exact ce văd ele
Care sunt aplicațiile comune ale decodificării URL?
Decodificarea URL este esențială în multe scenarii de dezvoltare web:
- Trimiteri de Formulare: citirea valorilor originale ale câmpurilor din datele GET și POST application/x-www-form-urlencoded
- Dezvoltare API: despachetarea parametrilor de cale și interogare percent-encoded care ajung la un endpoint API
- Sisteme de Fișiere: recuperarea căilor și numelor de fișiere care au fost percent-encoded pentru a circula în interiorul unui URL
- Depanare Link-uri: decodificarea URL-urilor partajate sau înregistrate pentru a vedea caracterele speciale și textul internațional pe care le transportă
Cum arată un exemplu de decodificare URL?
Iată câteva exemple comune de decodificare URL: %20 (sau +) devine spațiu, %40 devine @, %23 devine #, %26 devine &, iar %3D devine =. O secvență UTF-8 precum %C3%A9 devine caracterul internațional é.
Ce este percent-encoding?
Percent-encoding este mecanismul definit de RFC 3986 §2.1 pentru reprezentarea caracterelor care sunt nesigure sau rezervate în interiorul unui URI. Regula este mecanică: fiecare octet care nu poate apărea literal este scris ca semn de procent urmat de două cifre hexazecimale — forma %XX — unde XX este valoarea octetului. Caracterele non-ASCII, cum ar fi é, sunt mai întâi codificate ca secvența lor de octeți UTF-8, apoi fiecare octet este percent-encoded individual. Dezvoltatorii întâlnesc acest lucru aproape zilnic: în șirurile de interogare, trimiterile de formulare, URL-urile de callback OAuth, parametrii de cale REST API și oriunde un URL trebuie să transporte semne de punctuație, spații sau caractere în afara setului nerezervat A–Z a–z 0–9 - _ . ~.
Cum funcționează de fapt decodificarea %C3%A9 în é?
Ia șirul de interogare codificat ?q=caf%C3%A9&lang=fr. Decodificarea produce ?q=café&lang=fr. Iată explicația byte cu byte:
- Intrare:
?q=caf%C3%A9&lang=fr — codificat - Ieșire:
?q=café&lang=fr — decodificat
%C3→ octet0xC3(binar11000011) — octetul principal al unei secvențe UTF-8 de 2 octeți.%A9→ octet0xA9(binar10101001) — octetul de continuare. Combinate,C3 A9este codificarea UTF-8 a lui U+00E9, care esteé.- Caracterele
?,=și&sunt lăsate neatins deoarece sunt structurale — delimitează interogarea și perechile sale cheie/valoare. Literalulcafeste de asemenea transmis neschimbat, deoarece literele ASCII minuscule aparțin setului nerezervat.
Care este diferența dintre decodeURIComponent și decodeURI?
JavaScript expune două decodificatoare încorporate, iar confundarea lor este una dintre cele mai frecvente erori de gestionare a URL-urilor:
decodeURIComponent(str)decodifică fiecare secvență percent-encoded, inclusiv caractere rezervate precum&,=,?,/și#. Folosește-l pe valorile individuale ale șirului de interogare sau pe segmentele de cale — niciodată pe un URL întreg.decodeURI(str)este intenționat conservator: omite caracterele rezervate. Dacă i se dă%26, returnează șirul literal%26, nu&. Este destinat URI-urilor întregi unde dorești ca structura să supraviețuiască unui drum dus-întors.
Regulă generală: dacă șirul este o bucată dintr-un URL (un singur parametru, un fragment, un nume de fișier codificat), folosește decodeURIComponent. Acest instrument se comportă ca decodeURIComponent — fiecare secvență %XX din intrarea ta este decodificată, inclusiv caracterele rezervate.
Decodificarea unui URL este modul în care citești ceea ce conține cu adevărat. Lipește un șir codificat mai sus și fiecare secvență %XX se transformă înapoi în caracterul său chiar în browserul tău, astfel încât poți depana un parametru de interogare, verifica o redirecționare OAuth sau recupera un nume de fișier accentuat fără a trimite nimic la un server.