logo

Kako kodirati in dekodirati URL v JavaScriptu?

Kodiranje in dekodiranje URL-jev v JavaScriptu je bistvenega pomena za spletni razvoj, zlasti pri izdelavi zahtev GET s poizvedbenimi parametri. Ta postopek zagotavlja, da strežnik pravilno razlaga posebne znake v URL-jih. Presledki se na primer pretvorijo v %20 ali + v URL-jih. Ta priročnik pokriva, kako uporabljati funkcije JavaScript, kot so encodeURI(), encodeURIComponent(), escape(), decodeURI(), decodeURIComponent() in unescape() za učinkovito kodiranje in dekodiranje URL-jev.

primer:

  • Odprite www.google.com in napišite iskalno poizvedbo geeks za geeks.
  • Ko se prikažejo rezultati iskanja, opazujte URL vrstico brskalnika. URL brskalnika bo sestavljen iz %20 ali znaka + namesto presledka.
  • URL bo prikazan kot: https://www.google.com/search?q=geeks%20for%20geeks ali https://www.google.com/search?q=geeks+for+geeks

Opomba : brskalnik je samodejno pretvoril presledke v znake + ali %20.



Kodiranje URL-ja: Kodiranje v Javascript je mogoče doseči z:

Kazalo


1. Funkcija JavaScript encodeURI

The funkcijo encodeURI(). se uporablja za kodiranje celotnega URI-ja. Ta funkcija kodira posebne znake, razen znakov (, / ?: @ & = + $ #).

Sintaksa:

encodeURI( complete_uri_string );>
Javascript
const url = 'https://www.google.com/search?q=geeks for geeks'; const encodedURL = encodeURI(url); console.log(encodedURL)>

Izhod
https://www.google.com/search?q=geeks%20for%20geeks>

2. Funkcija JavaScript encodeURIComponent().

The funkcijo encodeURIComponent(). se uporablja za kodiranje nekaterih delov ali komponent URI. Ta funkcija kodira posebne znake. Poleg tega kodira naslednje znake: , / ? : @ & = + $ #

Sintaksa:

encodeURIComponent( uri_string_component );>
Javascript
const component = 'geeks for geeks'; const encodedComponent = encodeURIComponent(component); console.log(encodedComponent);>

Izhod
geeks%20for%20geeks>

3. Funkcija JavaScript escape().

funkcija JavaScript escape(). vzame niz kot en sam parameter in kodira niz, ki se lahko prenaša po računalniškem omrežju, ki podpira znake ASCII. Kodiranje je postopek pretvorbe navadnega besedila v šifrirano besedilo.

Sintaksa:

escape( string )>

Opomba: Funkcija escape() kodira samo posebne znake, ta funkcija je zastarela.

Izjeme: @ – + . /*_

ujemi in preizkusi javo
Javascript
const url = 'https://www.google.com/search?q=geeks for geeks'; const encodedURL = encodeURI(url);// encoding using encodeURI console.log(encodedURL) console.log(' ' + escape(url)); //encoding using escape>

Izhod
https://www.google.com/search?q=geeks%20for%20geeks https%3A//www.google.com/search%3Fq%3Dgeeks%20for%20geeks>

Dekodiranje URL-ja

Dekodiranje v Javascriptu je mogoče doseči z uporabo

1. Funkcija JavaScript decodeURI().

The funkcijo decodeURI(). se uporablja za dekodiranje URI-ja, ki ga ustvari kodirajURI() .

Sintaksa:

decodeURI( complete_encoded_uri_string )>

Primer : Ta primer opisuje funkcijo decodeURI(). od Javascript .

Javascript
const url = 'https://www.google.com/search?q=geeks%20for%20geeks'; const decodedURL = decodeURI(url); console.log(decodedURL)>

Izhod
https://www.google.com/search?q=geeks for geeks>

2. Funkcija JavaScript decodeURIComponent().

The funkcijo decodeURIComponent(). se uporablja za dekodiranje nekaterih delov ali komponent URI-ja, ki jih ustvari encodeURIComponent().

Sintaksa:

decodeURIComponent( encoded_uri_string_component )>

Primer : Ta primer opisuje decodeURIComponent() Javascripta.

Javascript
const component = 'geeks%20for%20geeks' const decodedComponent = decodeURIComponent(component); console.log(decodedComponent)>

Izhod
geeks for geeks>

3. Funkcija JavaScript unescape().

Ta funkcija vzame niz kot en sam parameter in ga uporabi za dekodiranje tega niza, kodiranega s funkcijo escape(). Šestnajstiško zaporedje v nizu se nadomesti z znaki, ki jih predstavljajo pri dekodiranju prek funkcijo unescape().

Sintaksa:

unescape(string)>

Opomba: Ta funkcija dekodira samo posebne znake, ta funkcija je zastarela.

Izjeme: @ – + . /*_

Javascript
const url = 'https://www.google.com/search?q=geeks for geeks'; const encodedURL = encodeURI(url); console.log(encodedURL) console.log(escape(url)); console.log(decodeURI(encodedURL)); console.log(unescape(encodedURL));>

Izhod
https://www.google.com/search?q=geeks%20for%20geeks https%3A//www.google.com/search%3Fq%3Dgeeks%20for%20geeks https://www.google.com/search?q=geeks for geeks https://www.google.com/search?q=geeks for ...>

4. Modul poizvedbenega niza JavaScript

Modul querystring ponuja pripomočke za razčlenjevanje in oblikovanje nizov poizvedb URL. Lahko se uporablja za kodiranje in dekodiranje komponent URL.

Kodiranje URL-ja:

Za kodiranje URL-ja lahko uporabimo funkcijo querystring.stringify() za ustvarjanje poizvedbenega niza iz predmeta in nato uporabimo encodeURIComponent() za kodiranje nastalega niza.

JavaScript
const querystring = require('querystring'); const urlParams = {  q: 'geeks for geeks',  page: 1,  sort: 'desc' }; const encodedURL = 'https://www.google.com/search?' + querystring.stringify(urlParams); console.log(encodedURL);>


Izhod:

https://www.google.com/search?q=geeks%20for%20geeks&page=1&sort=desc>

Dekodiranje URL-ja:

Za dekodiranje URL-ja lahko uporabimo funkcijo querystring.parse(), da razčlenimo poizvedbeni niz v objekt in nato dostopamo do dekodiranih vrednosti.

JavaScript
const decodedParams = querystring.parse('q=geeks%20for%20geeks&page=1&sort=desc'); console.log(decodedParams.q); // Output: geeks for geeks console.log(decodedParams.page); // Output: 1 console.log(decodedParams.sort); // Output: desc>


Razlika decodeURIComponent in decodeURI:

decodeURIComponent decodeURI
Opredelitev Funkcija decodeURIComponent() se uporablja za dekodiranje nekaterih delov ali komponent URI-ja, ki jih ustvari encodeURIComponent().Dekodiranje v Javascriptu je mogoče doseči s funkcijo decodeURI.
Sintaksa decodeURIComponent(encoded_uri_string_component)decodeURI(complete_coded_uri_string)
Posebno kodiranje znakov Potrebuje niz encodeURIComponent(url), da lahko dekodira te znake.Potrebuje niz encodeURI(url), tako da ne more dekodirati znakov (, / ? : @ & = + $ #)
Primer

decodeURIComponent(%41) Vrne A

decodeURIComponent(%26): vrne &

decodeURI(%41): vrne A

decodeURI(%26): vrne %26

Kodiranje in dekodiranje URL-jev v JavaScriptu je ključnega pomena za brezhiben spletni razvoj. Z uporabo funkcij, kot so encodeURI(), encodeURIComponent(), escape(), decodeURI(), decodeURIComponent() in unescape(), lahko razvijalci zagotovijo, da so njihovi URL-ji pravilno oblikovani in strežniki berljivi. Ta veščina je bistvena za obravnavanje poizvedbenih parametrov v zahtevah GET in zagotavlja nemoteno uporabniško izkušnjo na vašem spletnem mestu.