§

Introdu textul de decodificat:

Introdu textul codificat URL pe care dorești să îl decodifici. Instrumentul va converti caracterele percent-encoded înapoi la forma lor originală.
§

Output

decoded

Decodificarea URL-urilor percent-encoded este o sarcină zilnică în stiva web din SUA și Marea Britanie: desfacerea parametrilor `utm_` din Google Analytics 4 în BigQuery, descurcarea încărcărilor webhook Shopify, citirea valorii `state` care sare printr-o redirecționare OAuth 2.0 sau auditarea încărcăturii rău intenționate pe care Cloudflare WAF a prins-o într-un antet `X-Forwarded-For`. Administratorii de sistem care triază jurnalele de acces Apache și NGINX lipesc frecvent șiruri de interogare suspecte într-un decodificator înainte de a le tria prin Splunk sau Datadog. Acest decodificator client-side respectă RFC 3986 și nu transmite niciodată intrarea, ceea ce contează când URL-ul însuși face parte din incidentul aflat sub investigație.

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:

  1. Șirul de intrare este scanat pentru secvențe de escape percent-encoded (%XX)
  2. Fiecare %XX este convertit din cele două cifre hexazecimale înapoi la valoarea originală a octetului
  3. Octeții decodificați consecutivi sunt reasamblați în caractere UTF-8 (o secvență multi-octet devine un singur caracter)
  4. În contextul șirului de interogare, + este decodificat ca spațiu (application/x-www-form-urlencoded), în timp ce %2B rămâne un + literal
  5. 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
  1. %C3 → octet 0xC3 (binar 11000011) — octetul principal al unei secvențe UTF-8 de 2 octeți.
  2. %A9 → octet 0xA9 (binar 10101001) — octetul de continuare. Combinate, C3 A9 este codificarea UTF-8 a lui U+00E9, care este é.
  3. Caracterele ?, = și & sunt lăsate neatins deoarece sunt structurale — delimitează interogarea și perechile sale cheie/valoare. Literalul caf este 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.