Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 10554|Răspunde: 0

[JavaScript] JS codifică și decodează URL-urile (trei moduri de a le distinge)

[Copiază linkul]
Postat pe 23.01.2019 15:06:04 | | |
Doar 0-9[a-z] $ - _ . + ! * ' ( ), iar anumite cuvinte rezervate pot fi folosite direct în URL-uri fără a fi codificate.

De exemplu, dacă cauți un cuvânt-cheie chinezesc, copiază URL-ul și apoi îl lipești pentru a descoperi că URL-ul a fost transcodat.

1. Evadare și dezizolare

Principiu: Împarte literele, cifrele, semnele de punctuație ASCII @ * _ + - .  /

Cod: evadare('http://www.baidu.com?name=zhang@xiao@jie&order=1')

Rezultat: "http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1"

Evadarea ("Zhang")

Rezultat: "%u5F20"

decodat: unescape("http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1")

Rezultat: "http://www.baidu.com?name=zhang@xiao@jie&order=1"

unescape("%u5F20")

Rezultat: "Zhang"

2. encodeURI și decodeURI

Principiu: Returnează un șir codificat ca un Uniform Resource Identifier (URI) valid, un caracter care nu este codificat:! @ # $ & * ( ) = : / ; ? + '

   encodeURI() este funcția din Javascript care este folosită efectiv pentru a codifica URL-urile.

Codificare: encodeURI('http://www.baidu.com?name=zhang@xiao@jie&order=1')

Rezultat: "http://www.baidu.com?name=zhang@xiao@jie&order=1"

decodare: decodeURI("http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1")

Rezultat: "http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1"

3. encodeURIComponent și decodeURIComponent

Principiu: Codificați componentele unui URL individual, nu întregul URL

Codificare: encodeURIComponent('http://www.baidu.com?name=zhang@xiao@jie&order=1')
Rezultat: "http%3A%2F%2Fwww.baidu.com%3Fname%3Dzhang%40xiao%40jie%26order%3D1"

decoding: decodeURIComponent("http%3A%2F%2Fwww.baidu.com%3Fname%3Dzhang%40xiao%40jie%26order%3D1")

"http://www.baidu.com?name=zhang@xiao@jie&order=1"




Precedent:Rularea dotnet xx.dll solicită comanda dotnet negăsită
Următor:Microsoft.NETCore.App versiune a problemei
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com