一、前言
統(tǒng)一資源標(biāo)識(shí)符航邢,或叫做 URI施绎,是用來(lái)標(biāo)識(shí)互聯(lián)網(wǎng)上的資源(例如溯革,網(wǎng)頁(yè)或文件)和怎樣訪(fǎng)問(wèn)這些資源的傳輸協(xié)議(例如,HTTP 或 FTP)的字符串谷醉。除了encodeURI致稀、encodeURIComponent、decodeURI俱尼、decodeURIComponent四個(gè)用來(lái)編碼和解碼 URI 的函數(shù)之外 ECMAScript 語(yǔ)言自身不提供任何使用 URL 的支持;
二抖单、URI組成形式
一個(gè) URI 是由組件分隔符分割的組件序列組成。其一般形式是:
Scheme : First / Second ; Third ? Fourth
其中斜體的名字代表組件遇八;“:”, “/”, “;”矛绘,“?”是當(dāng)作分隔符的保留字符
三、區(qū)別
1刃永、encodeURI() //轉(zhuǎn)義 一個(gè)URI中的字
語(yǔ)法:encodeURI(uri) //這個(gè)在編碼不同的AJAX請(qǐng)求時(shí)货矮,解決中文亂碼問(wèn)題經(jīng)常用到。
var str1 = "你好javascript";
var str2 = encodeURI(str1);
document.write(str2); //輸出%E4%BD%A0%E5%A5%BDjavascript </pre>
2斯够、decodeURI() //解碼一個(gè)URI中的字符字
語(yǔ)法:decodeURI(uri)
var str1 = "你好javascript";
var str2 = encodeURI(str1);
document.write(str2); //輸出%E4%BD%A0%E5%A5%BDjavascript
var str3 = decodeURI(str2);
document.write("<br/>" + str3) //輸出 你好javascript</pre>
3囚玫、encodeURIComponent() //轉(zhuǎn)義URI組件中的字符
var str1 = "你好javascript";
var str2 = encodeURIComponent(str1);
document.write(str2); //輸出%E4%BD%A0%E5%A5%BDjavascript</pre>
4喧锦、decodeURIComponent() //解碼一個(gè)URI組件中的字符
var str1 = "你好javascript";
var str2 = encodeURIComponent(str1);
document.write(str2); //輸出%E4%BD%A0%E5%A5%BDjavascript
var str3 = decodeURIComponent(str2);
document.write("<br/>" + str3) //輸出 你好javascript</pre>
5、escape() //編碼一個(gè)字符串
語(yǔ)法:escape(value);
var str = "javascript 你好";
var str1 = escape(str);
document.write(str1); //javascript%20%u4F60%u597D</pre>
6抓督、unecape() //解碼一個(gè)由escape()函數(shù)編碼的字符串
window.onload = function () {
var str = "javascript 你好";
var str1 = escape(str);
ocument.write(str1); //javascript%20%u4F60%u597D
var str2 = unescape(str1);
alert(str2); //彈出 javascript你好
}