Nur 0-9[a-z] $ - _ . + ! * ' ( ), und bestimmte reservierte Wörter können direkt in URLs ohne Codierung verwendet werden.
Wenn Sie zum Beispiel nach einem chinesischen Schlüsselwort suchen, kopieren Sie die URL und fügen sie dann ein, um festzustellen, dass die URL transkodiert wurde.
1. Flucht und Unflucht
Prinzip: Teile ASCII-Buchstaben, Zahlen, Satzzeichen @ * _ + - . /
Code: escape('http://www.baidu.com?name=zhang@xiao@jie&order=1')
Ergebnis: "http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1"
Flucht ('Zhang')
Ergebnis: "%u5F20"
decoded: unescape("http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1")
Ergebnis: "http://www.baidu.com?name=zhang@xiao@jie&order=1"
unescape("%u5F20")
Ergebnis: "Zhang"
2. encodeURI und decodeURI
Prinzip: Gibt eine Zeichenkette zurück, die als gültige Uniform Resource Identifier (URI) codiert ist, ein Zeichen, das nicht codiert ist:! @ # $ & * ( ) = : / ; ? + '
encodeURI() ist die Funktion in Javascript, die tatsächlich zur Kodierung von URLs verwendet wird.
Codierung: encodeURI('http://www.baidu.com?name=zhang@xiao@jie&order=1')
Ergebnis: "http://www.baidu.com?name=zhang@xiao@jie&order=1"
decoding: decodeURI("http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1")
Ergebnis: "http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1"
3. encodeURIComponent und decodeURIComponent
Prinzip: Kodieren Sie die Komponenten einer URL einzeln, nicht die gesamte URL
Codierung: encodeURIComponent('http://www.baidu.com?name=zhang@xiao@jie&order=1') Ergebnis: "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" |