Tylko 0-9[a-z] $ - _ . + ! * ' ( ), a niektóre zarezerwowane słowa mogą być używane bezpośrednio w URL-ach bez kodowania.
Na przykład, jeśli wyszukujesz chińskie słowo kluczowe, skopiuj adres URL i wklej go, aby zobaczyć, że został przekodowany.
1. Ucieczka i ucieczka
Zasada: Dziel litery, cyfry, znaki interpunkcyjne ASCII @ * _ + - . /
Kod: escape('http://www.baidu.com?name=zhang@xiao@jie&order=1')
Wynik: "http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1"
ucieczka ('Zhang')
Wynik: "%u5F20"
zdekodowane: unescape("http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1")
Wynik: "http://www.baidu.com?name=zhang@xiao@jie&order=1"
unescape("%u5F20")
Wynik: "Zhang"
2. encodeURI i decodeURI
Zasada: Zwraca ciąg zakodowany jako ważny Uniform Resource Identifier (URI), znak, który nie jest zakodowany:! @ # $ & * ( ) = : / ; ? + '
encodeURI() to funkcja w Javascript, która faktycznie służy do kodowania adresów URL.
Kodowanie: encodeURI('http://www.baidu.com?name=zhang@xiao@jie&order=1')
Wynik: "http://www.baidu.com?name=zhang@xiao@jie&order=1"
dekodowanie: decodeURI("http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1")
Wynik: "http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1"
3. encodeURIComponent i decodeURIComponent
Zasada: Koduj komponenty adresu URL osobno, a nie cały adres URL
Kodowanie: encodeURIComponent('http://www.baidu.com?name=zhang@xiao@jie&order=1') Wynik: "http%3A%2F%2Fwww.baidu.com%3Fname%3Dzhang%40xiao%40jie%26order%3D1"
dekodowanie: decodeURIComponent("http%3A%2F%2Fwww.baidu.com%3Fname%3Dzhang%40xiao%40jie%26order%3D1")
"http://www.baidu.com?name=zhang@xiao@jie&order=1" |