Codarea URL
Unele caractere nu pot apărea în URL-uri (de exemplu, spații), altele au sensuri speciale în URL-uri. Trebuie să convertim caractere speciale pentru a se conforma sintaxei definite în specificația URI W3 (RFC 3986). Aceasta înseamnă că URL-urile trebuie să conțină doar un subset dintr-un caracter ASCII special: literele și cifrele cu care suntem familiarizați, precum și unele caractere rezervate care sunt folosite ca caractere de control în URL.
Procesarea codării URL-urilor în JavaScript
În JavaScript, atât funcțiile încorporate encodeURIComponent(), cât și encodeURI() pot fi codificate în URL, înlocuind caracterele rezervate din URL cu caracterele lor codificate UTF-8.
Majoritatea browserelor codifică automat URL-urile, cum ar fi codificarea spațiilor la %20, dar există întotdeauna unele excepții. Din fericire, browserele oferă funcții integrate de codificare și decodare a URL-urilor: encodeURI, encodeURIComponent și decodeURI, decodeURIComponent. Întrebarea este cum să folosești aceste funcții și care este diferența dintre ele.
encodeURI()
Codificarea unui șir de URL este ușoară, pur și simplu apelează encodeURI și treci șirul pe care vrei să-l codezi. Această funcție returnează URL-ul codificat.
decodeURI()
Această funcție decodează și apelează funcția decodeURI, trecând șirul codificat, apoi returnează șirul normal decodat.
encodeURIComponent()
Funcția encodeURIComponent ar trebui folosită pentru a codifica valorile parametrilor șirului de interogare. Diferența dintre encodeURI și encodeURIComponent este că encodeURIComponent codifică întregul șir, în timp ce encodeURI ignoră prefixul protocolului ('http://'), precum și numele domeniului. encodeURIComponent este conceput să codifice totul, în timp ce encodeURI ignoră partea cu numele de domeniu a URL-ului. Când tuCând doriți să codificați valoarea parametrului în URL, selectați funcția encodeURIComponent。
decodeURIComponent()
Funcția decodeURIComponent va decoda șirul codificat al funcției encodeURIComponent și îl va restaura la conținutul său normal.
Recenzie:
|