Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 10554|Antwoord: 0

[JavaScript] JS codeert en decodeert URL's (drie manieren om ze te onderscheiden)

[Link kopiëren]
Geplaatst op 23-01-2019 15:06:04 | | |
Alleen 0-9[a-z] $ - _ . + ! * ' ( ), en bepaalde gereserveerde woorden kunnen direct in URL's worden gebruikt zonder codering.

Als je bijvoorbeeld zoekt naar een Chinees trefwoord, kopieer dan de URL en plak deze om te zien dat de URL is getranscodeerd.

1. Ontsnapping en Onontsnapping

Principe: Verdeel ASCII-letters, cijfers, leestekens @ * _ + - .  /

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

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

ontsnapping('Zhang')

Resultaat: "%u5F20"

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

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

unescape("%u5F20")

Resultaat: "Zhang"

2. encodeURI en decodeURI

Principe: Geeft een string terug die gecodeerd is als een geldige Uniform Resource Identifier (URI), een teken dat niet gecodeerd is:! @ # $ & * ( ) = : / ; ? + '

   encodeURI() is de functie in Javascript die daadwerkelijk wordt gebruikt om URL's te coderen.

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

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

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

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

3. encodeURIComponent en decodeURIComponent

Principe: Codeer de componenten van een URL individueel, niet de hele URL

Codering: encodeURIComponent('http://www.baidu.com?name=zhang@xiao@jie&order=1')
Resultaat: "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"




Vorig:Dotnet uitvoeren xx.dll prompts dotnet commando niet gevonden
Volgend:Microsoft.NETCore.App versie van het probleem
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com