logo

Kuinka koodataan ja puretaan URL-osoite JavaScriptissä?

URL-osoitteiden koodaus ja purkaminen JavaScriptissä on olennaista verkkokehityksessä, erityisesti tehtäessä GET-pyyntöjä kyselyparametreilla. Tämä prosessi varmistaa, että palvelin tulkitsee URL-osoitteiden erikoismerkit oikein. Esimerkiksi URL-osoitteissa välilyönnit muunnetaan muotoon %20 tai +. Tämä opas käsittelee JavaScript-funktioiden, kuten encodeURI(), encodeURIComponent(), escape(), decodeURI(), decodeURIComponent() ja unescape() käyttämistä tehokkaaseen URL-koodaukseen ja dekoodaukseen.

Esimerkki:

  • Avaa www.google.com ja kirjoita hakukysely geeks for geeks.
  • Kun hakutulokset tulevat näkyviin, tarkkaile selaimen URL-palkkia. Selaimen URL-osoite koostuu %20 tai + -merkistä välilyönnin tilalla.
  • URL-osoite näytetään muodossa: https://www.google.com/search?q=geeks%20for%20geeks tai https://www.google.com/search?q=geeks+for+geeks

Huomautus : Selain muutti välilyönnit automaattisesti + tai %20 merkiksi.



URL-osoitteen koodaus: Javascript-koodaus voidaan saavuttaa käyttämällä:

Sisällysluettelo


1. JavaScript encodeURI -toiminto

The encodeURI()-funktio käytetään koodaamaan täydellinen URI. Tämä toiminto koodaa erikoismerkin lukuun ottamatta (, / ?: @ & = + $ #) merkkejä.

Syntaksi:

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

Lähtö
https://www.google.com/search?q=geeks%20for%20geeks>

2. JavaScript encodeURIComponent() -funktio

The encodeURIComponent()-funktio käytetään koodaamaan joitakin URI:n osia tai komponentteja. Tämä toiminto koodaa erikoismerkit. Lisäksi se koodaa seuraavat merkit: , / ? : @ & = + $ #

Syntaksi:

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

Lähtö
geeks%20for%20geeks>

3. JavaScript escape()-funktio

JavaScript escape()-funktio ottaa merkkijonon yksittäisenä parametrina ja koodaa merkkijonon, joka voidaan lähettää ASCII-merkkejä tukevan tietokoneverkon kautta. Koodaus on prosessi, jossa pelkkä teksti muunnetaan salatekstiksi.

Syntaksi:

escape( string )>

Huomautus: Escape()-funktio koodaa vain erikoismerkit, tämä toiminto on vanhentunut.

Poikkeukset: @ – + . /*_

merkkijonotaulukko c-kielellä
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>

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

URL-osoitteen dekoodaus

Dekoodaus Javascriptissä voidaan saavuttaa käyttämällä

1. JavaScript decodeURI() -funktio

The decodeURI()-funktio käytetään purkamaan URI, jonka on luonut encodeURI() .

Syntaksi:

decodeURI( complete_encoded_uri_string )>

Esimerkki : Tämä esimerkki kuvaa decodeURI()-funktio / Javascript .

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

Lähtö
https://www.google.com/search?q=geeks for geeks>

2. JavaScript decodeURIComponent() -funktio

The decodeURIComponent()-funktio käytetään purkamaan joidenkin encodeURIComponent()-toiminnon luoman URI:n osia tai komponentteja.

Syntaksi:

decodeURIComponent( encoded_uri_string_component )>

Esimerkki : Tämä esimerkki kuvaa decodeURIComponent() Javascriptistä.

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

Lähtö
geeks for geeks>

3. JavaScript unescape() -funktio

Tämä funktio ottaa merkkijonon yksittäisenä parametrina ja käyttää sitä escape()-funktion koodaaman merkkijonon purkamiseen. Heksadesimaalisekvenssi merkkijonossa korvataan merkeillä, joita ne edustavat, kun dekoodataan kautta unescape()-funktio.

Syntaksi:

unescape(string)>

Huomautus: Tämä toiminto purkaa vain erikoismerkit, tämä toiminto on vanhentunut.

Poikkeukset: @ – + . /*_

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));>

Lähtö
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. JavaScript-kyselymoduuli

Querystring-moduuli tarjoaa apuohjelmia URL-kyselymerkkijonojen jäsentämiseen ja muotoiluun. Sitä voidaan käyttää URL-osien koodaamiseen ja purkamiseen.

URL-osoitteen koodaus:

URL-osoitteen koodaamiseksi voimme käyttää querystring.stringify()-funktiota kyselymerkkijonon luomiseen objektista ja sitten koodata tuloksena oleva merkkijono encodeURIComponent()-funktiolla.

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);>


Lähtö:

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

URL-osoitteen dekoodaus:

URL-osoitteen dekoodaamiseksi voimme käyttää querystring.parse()-funktiota jäsentämään kyselymerkkijono objektiksi ja pääsemään sitten dekoodattuihin arvoihin.

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>


Ero decodeURIComponent ja decodeURI:

decodeURIComponent decodeURI
Määritelmä DecodeURIComponent()-funktiota käytetään joidenkin encodeURIComponent()-toiminnon luoman URI:n osien tai komponenttien purkamiseen.Dekoodaus Javascriptissä voidaan suorittaa käyttämällä decodeURI-toimintoa.
Syntaksi decodeURIComponent( encoded_uri_string_component )decodeURI( täydellinen_koodattu_uri_merkkijono)
Erikoismerkkien koodaus Se vaatii encodeURIComponent(url)-merkkijonon, jotta se voi purkaa nämä merkit.Se vaatii encodeURI(url)-merkkijonon, joten se ei voi purkaa merkkejä (, / ? : @ & = + $ #)
Esimerkki

decodeURIComponent(%41) Palauttaa A

decodeURIComponent(%26): Se palauttaa &

decodeURI(%41): Se palauttaa A

decodeURI(%26): Palauttaa %26

URL-koodaus ja dekoodaus JavaScriptissä on ratkaisevan tärkeää saumattoman web-kehityksen kannalta. Käyttämällä toimintoja, kuten encodeURI(), encodeURIComponent(), escape(), decodeURI(), decodeURIComponent() ja unescape(), kehittäjät voivat varmistaa, että heidän URL-osoitteensa ovat oikein muotoiltuja ja palvelinten luettavissa. Tämä taito on välttämätön GET-pyyntöjen kyselyparametrien käsittelyssä ja varmistaa sujuvan käyttökokemuksen verkkosivustollasi.