Ada tiga fungsi dalam JavaScript yang dapat mengkodekan string, yaitu: Escape, Encodeuri, Encodeuri, dan Encodeuricomponent. Tiga fungsi decoding yang sesuai: unescape, decodeuri, dan decodeuricomponent.
Berikut adalah pengantar singkat tentang perbedaan mereka:
1 fungsi Escape ()
Definisi dan penggunaan
Fungsi Escape () mengkodekan string sehingga string dapat dibaca di semua komputer.
tata bahasa
Escape (String)
Deskripsi parameter
string dibutuhkan. String yang harus dilolos atau dikodekan.
Nilai pengembalian
Salinan string yang dikodekan. Beberapa karakter ini diganti dengan urutan pelarian heksadesimal.
menjelaskan
Metode ini tidak menyandikan huruf dan angka ASCII, juga tanda baca ASCII berikut: - _. Lai ~ * '(). Semua karakter lain akan diganti dengan urutan yang melarikan diri.
2 fungsi encodeuri ()
Definisi dan penggunaan
Fungsi encodeuri () dapat menyandikan string sebagai URI.
tata bahasa
Encodeuri (kumuh)
Deskripsi parameter
Diperlukan kumuh. String yang berisi URI atau teks lain yang akan dikodekan.
Nilai pengembalian
Salinan Uristring, beberapa di antaranya digantikan oleh urutan pelarian heksadesimal.
menjelaskan
Metode ini tidak menyandikan huruf dan angka ASCII, juga tidak menyandikan tanda baca ASCII ini: - _. Lai ~ * '().
Tujuan dari metode ini adalah untuk sepenuhnya menyandikan URI, sehingga fungsi encodeuri () tidak akan lepas dari tanda baca ASCII berikut dengan makna khusus dalam URI :;/?:@& =+$,#
3 fungsi encodeuricomponent ()
Definisi dan penggunaan
Fungsi Encodeuricomponent () dapat menyandikan string sebagai komponen URI.
tata bahasa
Encodeuricomponent (Uristring)
Deskripsi parameter
Diperlukan kumuh. String yang berisi komponen URI atau teks lain yang akan dikodekan.
Nilai pengembalian
Salinan Uristring, beberapa di antaranya digantikan oleh urutan pelarian heksadesimal.
menjelaskan
Metode ini tidak menyandikan huruf dan angka ASCII, juga tidak menyandikan tanda baca ASCII ini: - _. Lai ~ * '().
Karakter lain (seperti:;/?:@& =+$,# tanda baca yang digunakan untuk memisahkan komponen URI) digantikan oleh satu atau lebih urutan pelarian heksadesimal.
Kiat dan Komentar
Tip: Perhatikan perbedaan antara fungsi encodeuricomponent () dan fungsi encodeuri (). Yang pertama mengasumsikan bahwa parameternya adalah bagian dari URI (seperti protokol, nama host, jalur, atau string kueri). Oleh karena itu, fungsi encodeuricomponent () akan luput dari tanda baca yang digunakan untuk memisahkan bagian masing -masing URI.
4 Ringkasan:
Melalui analisis tiga fungsi, kita dapat mengetahui bahwa melarikan diri () lolos dari semua string yang dilewati kecuali huruf ASCII, angka, dan simbol spesifik. Karena itu, jika Anda ingin menyandikan URL, sebaiknya tidak menggunakan metode ini. Encodeuri () digunakan untuk menyandikan seluruh URI karena tidak ada karakter hukum di URI yang akan dikodekan dan dikonversi. Metode Encodeuricomponent harus yang paling umum digunakan saat mengkode satu Uricomponent tunggal (mengacu pada parameter permintaan). Ini dapat melarikan diri dari karakter Cina dan khusus dalam parameter tanpa mempengaruhi seluruh URL.
5 Contoh:
1 Escape ()
<type script = "Text/JavaScript"> Document.write (Escape ("http://www.w3school.com.cn/") + "<br />") Document.write (Escape ("?! = ()#%&")) </script>Keluaran:
http%3a // www.w3school.com.cn%3f%21%3d%28%29%23%25%26
2 encodeuri ()
<type script = "Text/JavaScript"> Document.write (encodeuri ("http://www.w3school.com.cn/")+ "<br />")document.write(encodeuri("http://www.w3school.com.cn/my First/")) document.write (encodeuri (",/?:@& =+$#")) </script>Keluaran:
http://www.w3school.com.cn/http://www.w3school.com.cn/my%20first/,/?:@&=+$##
Seluruh URL dikodekan, dan pengidentifikasi spesifik URL tidak ditranskode.
3 encodeuricomponent ()
Contoh 1:
<type script = "Text/JavaScript"> Document.write (encodeuricomponent ("http://www.w3school.com.cn/")) document.write ("<br />")document.write(encodeuricomponent("htp:/wwww.www.w3school.com.c.c." ") /> ") document.write (encodeuricomponent (",/?:@& =+$#")) </skrip>Keluaran:
http%3a%2f%2fwww.w3school.com.cnhttp%3a%2f%2fwww.w3school.com.cn%2fp%201%2F%2c%2f%3f%3a%40%26%3d%2b%24%23
Contoh 2:
<bahasa skrip = "javaScript"> document.write ('<a href = "http://passport.baidu.com/?logout&aid=7&u='+encodeuricomponent (" rel = "eksternal nofollow" http://cang.baidu.com/bruce42") panggul "</cang.Kode parameter dalam URL, karena parameter juga merupakan URL, jika tidak dikodekan, itu akan mempengaruhi lompatan seluruh URL.