Kódovanie a dekódovanie adries URL v jazyku JavaScript je nevyhnutné pre vývoj webu, najmä pri vytváraní požiadaviek GET s parametrami dopytu. Tento proces zabezpečuje, že server správne interpretuje špeciálne znaky v adresách URL. Napríklad medzery sa v adresách URL skonvertujú na %20 alebo +. Táto príručka popisuje, ako používať funkcie JavaScript, ako sú encodeURI(), encodeURIComponent(), escape(), decodeURI(), decodeURIComponent() a unescape() na efektívne kódovanie a dekódovanie adries URL.
Príklad:
- Otvorte stránku www.google.com a napíšte vyhľadávací dopyt geeks for geeks.
- Po zobrazení výsledkov vyhľadávania sledujte panel s adresou URL prehliadača. Adresa URL prehliadača sa bude skladať zo znaku %20 alebo + namiesto medzery.
- Adresa URL sa zobrazí takto: https://www.google.com/search?q=geeks%20for%20geeks alebo https://www.google.com/search?q=geeks+for+geeks
Poznámka : Prehliadač automaticky skonvertoval medzery na znaky + alebo %20.
Kódovanie adresy URL: Kódovanie v Javascripte je možné dosiahnuť pomocou:
Obsah
- 1. Funkcia JavaScript encodeURI
- 2. Funkcia JavaScript encodeURIComponent().
- 3. Funkcia JavaScript escape().
- 1. Funkcia JavaScript decodeURI().
- 2. Funkcia JavaScript decodeURIComponent().
- 3. Funkcia JavaScript unescape().
- 4. Modul dotazovacieho reťazca JavaScriptu
1. Funkcia JavaScript encodeURI
The funkcia encodeURI(). sa používa na zakódovanie kompletného URI. Táto funkcia zakóduje špeciálny znak okrem znakov (, / ?: @ & = + $ #).
Syntax:
encodeURI( complete_uri_string );>Javascript
const url = 'https://www.google.com/search?q=geeks for geeks'; const encodedURL = encodeURI(url); console.log(encodedURL)>
Výkon
https://www.google.com/search?q=geeks%20for%20geeks>
2. Funkcia JavaScript encodeURIComponent().
The funkcia encodeURIComponent(). sa používa na kódovanie niektorých častí alebo komponentov URI. Táto funkcia kóduje špeciálne znaky. Okrem toho kóduje nasledujúce znaky: , / ? : @ & = + $ #
Syntax:
encodeURIComponent( uri_string_component );>Javascript
const component = 'geeks for geeks'; const encodedComponent = encodeURIComponent(component); console.log(encodedComponent);>
Výkon
geeks%20for%20geeks>
3. Funkcia JavaScript escape().
Funkcia JavaScript escape(). berie reťazec ako jeden parameter a kóduje reťazec, ktorý je možné prenášať cez počítačovú sieť, ktorá podporuje znaky ASCII. Kódovanie je proces prevodu obyčajného textu na šifrovaný text.
Syntax:
escape( string )>
Poznámka: Funkcia escape() kóduje iba špeciálne znaky, táto funkcia je zastaraná.
Výnimky: @ – + . /*_
javafx tutoriálJavascript
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> Výkon
https://www.google.com/search?q=geeks%20for%20geeks https%3A//www.google.com/search%3Fq%3Dgeeks%20for%20geeks>
Dekódovanie adresy URL
Dekódovanie v Javascripte je možné dosiahnuť pomocou
1. Funkcia JavaScript decodeURI().
The funkciu decodeURI(). sa používa na dekódovanie URI generovaného pomocou encodeURI() .
Syntax:
decodeURI( complete_encoded_uri_string )>
Príklad : Tento príklad popisuje funkciu decodeURI(). z Javascript .
Javascript const url = 'https://www.google.com/search?q=geeks%20for%20geeks'; const decodedURL = decodeURI(url); console.log(decodedURL)>
Výkon
https://www.google.com/search?q=geeks for geeks>
2. Funkcia JavaScript decodeURIComponent().
The funkciu decodeURIComponent(). sa používa na dekódovanie niektorých častí alebo komponentov URI generovaných pomocou encodeURIComponent().
Syntax:
decodeURIComponent( encoded_uri_string_component )>
Príklad : Tento príklad popisuje decodeURIComponent() jazyka Javascript.
Javascript const component = 'geeks%20for%20geeks' const decodedComponent = decodeURIComponent(component); console.log(decodedComponent)>
Výkon
geeks for geeks>
3. Funkcia JavaScript unescape().
Táto funkcia berie reťazec ako jeden parameter a používa ho na dekódovanie tohto reťazca zakódovaného funkciou escape(). Hexadecimálna postupnosť v reťazci je nahradená znakmi, ktoré predstavujú pri dekódovaní cez funkciu unescape().
Syntax:
unescape(string)>
Poznámka: Táto funkcia dekóduje iba špeciálne znaky, táto funkcia je zastaraná.
Výnimky: @ – + . /*_
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));>
Výkon
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 dotazovacieho reťazca JavaScriptu
Modul querystring poskytuje pomocné programy na analýzu a formátovanie reťazcov URL dotazov. Môže sa použiť na kódovanie a dekódovanie komponentov URL.
Kódovanie adresy URL:
Na zakódovanie adresy URL môžeme použiť funkciu querystring.stringify() na vytvorenie reťazca dotazu z objektu a potom použiť encodeURIComponent() na zakódovanie výsledného reťazca.
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);>
Výkon:
https://www.google.com/search?q=geeks%20for%20geeks&page=1&sort=desc>
Dekódovanie adresy URL:
Na dekódovanie adresy URL môžeme použiť funkciu querystring.parse() na analýzu reťazca dotazu do objektu a potom získať prístup k dekódovaným hodnotám.
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>
Rozdiel medzi decodeURIComponent a decodeURI:
| decodeURIComponent | decodeURI | |
|---|---|---|
| Definícia | Funkcia decodeURIComponent() sa používa na dekódovanie niektorých častí alebo komponentov URI generovaných pomocou encodeURIComponent(). | Dekódovanie v Javascripte je možné dosiahnuť pomocou funkcie decodeURI. |
| Syntax | decodeURIComponent( zakódovaný_súčasť_reťazca_uri ) | decodeURI( complete_encoded_uri_reťazec ) |
| Špeciálne kódovanie znakov | Vyžaduje reťazec encodeURIComponent(url), aby mohol dekódovať tieto znaky. | Vyžaduje reťazec encodeURI(url), takže nedokáže dekódovať znaky (, / ? : @ & = + $ #) |
| Príklad | decodeURIComponent(%41) Vráti A decodeURIComponent(%26): Vráti & | decodeURI(%41): Vráti A decodeURI(%26): Vráti %26 |
Kódovanie a dekódovanie URL v JavaScripte je kľúčové pre bezproblémový vývoj webu. Pomocou funkcií, ako sú encodeURI(), encodeURIComponent(), escape(), decodeURI(), decodeURIComponent() a unescape(), môžu vývojári zabezpečiť, aby ich adresy URL boli správne naformátované a čitateľné servermi. Táto zručnosť je nevyhnutná na spracovanie parametrov dopytu v požiadavkách GET a zabezpečuje bezproblémovú používateľskú skúsenosť na vašom webe.