Codificator/Decodificator URL

Instrumentul nostru de codificare și decodificare URL convertește URL-urile și textul în format codificat procentual și invers, în timp real. Codifică caractere speciale, parametri de interogare, segmente de cale și text Unicode pentru utilizare sigură în URL-uri. Decodifică șirurile codificate procentual înapoi în text lizibil. Respectă standardul de codificare RFC 3986, codificarea componentelor și codificarea URL-urilor complete cu suport UTF-8. Toată procesarea are loc pe partea de client — datele tale nu părăsesc niciodată browserul.

star 4.9
auto_awesome AI
New

Codificator URL calculator

Method:
0 characters 0 bytes
0 characters

lightbulb Tips

  • •Use encodeURIComponent for query values
  • •Spaces → %20 (standard) or + (form data)
  • •A-Z a-z 0-9 - _ . ~ are never encoded
  • •Always encode user input before URLs

How to Use the Codificator URL

swap_horiz

Alege modul

Selectează Codificare pentru a converti textul în format URL sau Decodificare pentru a reconverti textul codificat procentual.

tune

Selectează metoda

Alege Componentă (pentru valori de interogare), URI (pentru URL-uri complete) sau Date formular (+ pentru spații).

text_fields

Introdu textul de intrare

Tastați sau lipiți textul (pentru codare) sau URL-ul codat (pentru decodare).

content_copy

Afișează rezultatul

Rezultatul apare instantaneu. Faceți clic pe Copiere pentru a-l copia în clipboard.

The Formula

Codarea URL (codarea procentuală) înlocuiește caracterele nesigure sau rezervate cu un semn de procent (%) urmat de două cifre hexazecimale ce reprezintă valoarea în octeți a caracterului. De exemplu, un spațiu devine %20, iar '&' devine %26. Caracterele UTF-8 folosesc mai mulți octeți codați procentual (de ex., '€' → %E2%82%AC). Caracterele nerezervate (litere, cifre, -, _, ., ~) nu sunt codate niciodată.

URL Encoding = replace unsafe characters → %HH (hex byte value)

lightbulb Variables Explained

  • %HH Semn de procent urmat de două cifre hexazecimale ce reprezintă valoarea în octeți
  • Unreserved chars A-Z a-z 0-9 - _ . ~ (nu sunt codate niciodată)
  • Reserved chars : / ? # [ ] @ ! $ & ' ( ) * + , ; = (codate în componente)
  • UTF-8 Caractere pe mai mulți octeți codate ca secvențe multiple %HH

tips_and_updates Pro Tips

1

Folosește encodeURIComponent pentru valorile parametrilor de interogare — codifică totul cu excepția A-Z a-z 0-9 - _ . ~

2

Folosește encodeURI pentru URL-uri complete — păstrează caracterele de structură URL precum :, /, ?, #, &, = și altele

3

Spațiile pot fi codificate ca %20 (standard) sau + (date din formulare / application/x-www-form-urlencoded)

4

Codifică întotdeauna datele introduse de utilizator înainte de a le introduce în URL-uri pentru a preveni atacurile de tip injectare

5

Caracterele UTF-8 precum emoji-urile sunt codificate ca mai mulți octeți %HH (de exemplu, 😀 → %F0%9F%98%80)

6

Dubla codificare apare când codifici un șir deja codificat — decodifică mai întâi dacă nu ești sigur

7

RFC 3986 definește standardul: caracterele nerezervate (A-Z a-z 0-9 - _ . ~) nu sunt niciodată codificate

Instrumentul nostru gratuit de codare și decodare URL convertește instantaneu textul în format codat procentual și invers. Codați parametri de interogare, segmente de cale și caractere speciale pentru o utilizare sigură a URL-urilor. Decodați șirurile codate procentual în text lizibil. Suportă UTF-8 și toate caracterele Unicode.

Encoder URL - Din text în codare procentuală

Convertiți orice text în codare procentuală sigură pentru URL instantaneu. Encoderul nostru gestionează spațiile, caracterele speciale, Unicode și emoji-urile.

Alegeți între:

  • codare componente (pentru valori de interogare)
  • codare URI (păstrând structura URL-ului)
  • codare date formular (+ pentru spații)

Decoder URL - Din codare procentuală în text

Decodați orice URL codat procentual înapoi în text lizibil. Lipiți URL-uri codate, șiruri de interogare sau parametri individuali și vedeți textul original instantaneu.

Gestionează:

  • secvențe %HH
  • plus ca spațiu
  • caractere UTF-8 pe mai mulți octeți

Cum funcționează codarea URL (codarea procentuală)?

Codarea URL funcționează prin înlocuirea oricărui caracter nesigur sau rezervat dintr-un URL cu un semn procentual urmat de două cifre hexazecimale care reprezintă valoarea în octeți a acelui caracter, o schemă definită formal în RFC 3986 de către IETF.

Un spațiu devine %20, un ampersand devine %26, iar un slash devine %2F. Caracterele non-ASCII sunt mai întâi convertite în secvența lor de octeți UTF-8, apoi fiecare octet este codat procentual, astfel încât litera 'é' devine %C3%A9.

Conform MDN Web Docs, browserele aplică acest lucru automat prin funcții precum encodeURIComponent. Doar caracterele nerezervate (A-Z, a-z, 0-9, cratimă, liniuță de sublimare, punct, tildă) rămân nemodificate.

Care este diferența dintre encodeURI și encodeURIComponent?

encodeURI codează un URL complet păstrând caracterele structurale rezervate, în timp ce encodeURIComponent codează o singură componentă și convertește și acele caractere structurale.

Așa cum este documentat de MDN Web Docs, encodeURI lasă intacte caracterele :, /, ?, #, & și = pentru ca o adresă întreagă să rămână funcțională, fiind alegerea potrivită pentru URL-uri complete. encodeURIComponent convertește totul, cu excepția setului nerezervat RFC 3986, fiind opțiunea corectă pentru valorile parametrilor de interogare, segmentele de cale sau textul fragmentelor care ar putea conține caractere rezervate.

Utilizarea encodeURI acolo unde este necesar encodeURIComponent este o eroare frecventă: un & necodat în interiorul unei valori va fi citit greșit ca separator de parametri, alterând în mod silențios solicitarea.

Care caractere sunt rezervate vs nerezervate într-un URL?

RFC 3986 împarte caracterele URL în seturi nerezervate și rezervate, iar această distincție determină ce este codat procentual.

  • Caracterele nerezervate sunt literele A-Z și a-z, cifrele 0-9 și cele patru semne cratimă, liniuță de sublimare, punct și tildă; acestea nu necesită niciodată codare.
  • Caracterele rezervate includ delimitatorii generali : / ? # [ ] @ și sub-delimitatorii ! $ & ' ( ) * + , ; = care au semnificație sintactică.

Conform specificației IETF, caracterele rezervate pot apărea necodate când își îndeplinesc rolul de delimitator, dar trebuie codate procentual când sunt utilizate ca atare în interiorul unei componente. Tot ce se află în afara ambelor seturi, inclusiv spațiile și Unicode, ar trebui codat întotdeauna.

De ce folosesc URL-urile %20 pentru spații?

URL-urile folosesc %20 pentru spații deoarece caracterul spațiu nu are voie să apară ca atare într-un URI conform RFC 3986, astfel că este codificat procentual la valoarea sa de octet ASCII, adică 20 în hexazecimal.

Există și o a doua convenție: în datele application/x-www-form-urlencoded, formatul utilizat de formularele HTML trimise și de multe șiruri de interogare, un spațiu este codificat ca un semn plus (+) în loc de %20, conform specificațiilor WHATWG URL Standard și W3C pentru formulare.

De aceea, decodificatoarele trebuie să cunoască contextul. %20 este universal sigur în cale (path), interogare (query) și fragment, în timp ce + înseamnă spațiu doar în datele de interogare codificate pentru formulare, fiind un plus literal în orice alt loc.

Cum gestionează codificarea URL caracterele Unicode și emoji-urile?

Codificarea URL gestionează Unicode prin convertirea mai întâi a fiecărui caracter în secvența sa de octeți UTF-8 și apoi prin codificarea procentuală a fiecărui octet individual. Unicode Consortium definește punctele de cod (code points), iar UTF-8 (specificat în RFC 3629) le asociază la unu până la patru octeți.

De exemplu:

  • Un caracter ASCII de un singur octet precum 'A' rămâne 'A'
  • 'é' se codifică în %C3%A9
  • caracterul CJK '日' devine %E6%97%A5
  • un emoji precum 😀 se codifică în patru octeți, %F0%9F%98%80

MDN Web Docs menționează că funcția encodeURIComponent din JavaScript operează implicit pe UTF-8. Decodificatoarele inversează acest proces prin colectarea octeților codificați procentual și reinterpretarea lor ca un flux UTF-8 pentru a recupera textul original.

Ce este dubla codificare și cum o poți evita?

Dubla codificare are loc atunci când un șir deja codificat procentual este codificat din nou, transformând fiecare % în %25, astfel încât %20 devine %2520 și valoarea nu mai poate fi citită corect.

Aceasta este o sursă frecventă de linkuri nefuncționale și, conform OWASP, o problemă de securitate, deoarece atacatorii folosesc dubla codificare pentru a trece date malițioase de filtrele care decodifică o singură dată.

Pentru a o evita, codifică o valoare o singură dată în punctul în care intră în URL și nu recodifica niciodată date provenite dintr-o altă sursă deja codificată. Dacă nu ești sigur dacă un șir este deja codificat, decodifică-l mai întâi; dacă rezultatul se modifică și devine lizibil, înseamnă că era codificat și nu ar trebui să îl codifici din nou.

Este codificarea URL sigură? Codificare vs Criptare

Codificarea URL nu este sigură și nu oferă confidențialitate; este o transformare reversibilă pentru siguranța transportului de date, nu o criptare. Oricine poate decodifica instantaneu un șir codificat procentual, astfel încât datele sensibile plasate într-un URL rămân complet lizibile și, așa cum avertizează OWASP, sunt expuse și în istoricul browserului, în jurnalele serverului și în antetele Referer.

Codificarea doar garantează că caracterele speciale nu afectează sintaxa URL-ului. Criptarea, în schimb, utilizează o cheie și algoritmi precum AES (standardizat de NIST) pentru a face datele nelizibile fără acea cheie.

Utilizarea corectă din punct de vedere al securității a codificării presupune combinarea acesteia cu secvențe de evacuare corespunzătoare pentru ieșire, prevenind atacurile de tip injectare; nu o tratați niciodată ca pe o modalitate de a ascunde sau proteja informații.

Cum se codifică corect șirurile de interogare și parametrii URL?

Pentru a codifica corect un șir de interogare, aplică encodeURIComponent pentru fiecare cheie și valoare de parametru în parte, înainte de a le uni cu & și =, în loc să codifici întregul șir asamblat dintr-o dată.

Acest lucru garantează că caracterele rezervate din interiorul unei valori, cum ar fi & sau = din datele introduse de utilizator, sunt convertite în %26 și %3D pentru a nu fi confundate cu delimitatorii, respectând regulile application/x-www-form-urlencoded descrise de WHATWG URL Standard. De exemplu, valoarea 'hello world&x=1' trebuie să devină 'hello%20world%26x%3D1'.

Conform MDN Web Docs, API-ul URLSearchParams automatizează acest proces în siguranță. Codifică întotdeauna datele furnizate de utilizatori înainte de a le introduce într-un șir de interogare pentru a preveni injectarea de parametri și cererile malformate.

Greșeli frecvente la codificarea și decodificarea URL-urilor

Cea mai frecventă greșeală de codificare URL este alegerea funcției greșite: utilizarea encodeURI pe o valoare de interogare lasă &, = și ? neevacuate, permițând datelor introduse de utilizator să corupă structura URL-ului.

Alte erori frecvente, semnalate de OWASP și MDN Web Docs, includ:

  • dubla codificare a unei valori, astfel încât %20 devine %2520
  • uitarea faptului că + înseamnă spațiu doar în datele codificate din formulare
  • codificarea unui URL întreg după ce a fost construit, în loc să fie codificat fiecare component în prealabil

De asemenea, dezvoltatorii gestionează incorect UTF-8 decodificând octeții ca Latin-1, ceea ce duce la apariția de caractere neinteligibile (mojibake) pentru textele cu diacritice sau caractere non-latine. În cele din urmă, nu te baza niciodată pe codificare pentru securitate; omisiunea de a secvenția ieșirea pentru contextul țintă lasă deschise vulnerabilitățile la injectare, în ciuda unei codificări procentuale valide.

Frequently Asked Questions

sell

Tags