這篇文章將為大家詳細(xì)講解有關(guān)ios如何獲取數(shù)據(jù)之encodeURI和decodeURI,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)建站專(zhuān)業(yè)為企業(yè)提供千陽(yáng)網(wǎng)站建設(shè)、千陽(yáng)做網(wǎng)站、千陽(yáng)網(wǎng)站設(shè)計(jì)、千陽(yáng)網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、千陽(yáng)企業(yè)網(wǎng)站模板建站服務(wù),10余年千陽(yáng)做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。在APP開(kāi)發(fā)過(guò)程中,免不了要進(jìn)行ios的數(shù)據(jù)處理,在ios傳遞數(shù)據(jù)的過(guò)程中,會(huì)出現(xiàn)JSON數(shù)據(jù)獲取不到的情況,這時(shí)候就輪到encodeURI 和 decodeURI出馬了。
1、encodeURI,decodeURI
encodeURI:將字符串作為 URI 進(jìn)行編碼
?不會(huì)對(duì) ASCII 字母和數(shù)字進(jìn)行編碼,也不會(huì)對(duì)這些 ASCII 標(biāo)點(diǎn)符號(hào)進(jìn)行編碼( 即:- _ . ! ~ * ' ( ) )。
?目的是對(duì) URI 全部的編碼,因此對(duì)在 URI 中具有特殊含義的 ASCII 標(biāo)點(diǎn)符號(hào)(即:;/?:@&=+$,#)是不會(huì)進(jìn)行編碼的。所以,此函數(shù)別名為 encodeURL 不為過(guò),相當(dāng)于 PHP 的 url_encode 。
例子:
encodeURI("http://ydr.me?user=hello 云淡然"); // "http://ydr.me?user=hello%20%E4%BA%91%E6%B7%A1%E7%84%B6" decodeURI("http://ydr.me?user=hello%20%E4%BA%91%E6%B7%A1%E7%84%B6"); // http://ydr.me?user=hello 云淡然
由于 encodeURI 是對(duì) URL 的完整編碼,所以常用于URL的跳轉(zhuǎn)之處:
location.href=encodeURI('http://baidu.com/s?word=hello 云淡然'); // "http://baidu.com/s?word=hello%20%E4%BA%91%E6%B7%A1%E7%84%B6"
在各個(gè)瀏覽器打開(kāi)該地址,表現(xiàn)均不相同:
?ie的url表現(xiàn)的最規(guī)范(完全按照encodeURI編碼)
?chrome的url表現(xiàn)比較規(guī)范(部分按照encodeURI編碼)
?firefox的url表現(xiàn)最不規(guī)范(完全沒(méi)有安裝encodeURI編碼)
雖然各個(gè)瀏覽器的URL表現(xiàn)均不相同,但在 firefox 和 chrome 中url的可讀性最高,ie最低。
2、encodeURIComponent 和 decodeURIComponent
encodeURI 是對(duì)完整的URL進(jìn)行編碼,而 encodeURIComponent 是對(duì)URL的參數(shù)進(jìn)行編碼的,并且其編碼特點(diǎn)如下:
?不會(huì)對(duì) ASCII 字母和數(shù)字進(jìn)行編碼,也不會(huì)對(duì)這些 ASCII 標(biāo)點(diǎn)符號(hào)進(jìn)行編碼(即: - _ . ! ~ * ' ( ) )。
?目的是對(duì) URI 部分的編碼,因此對(duì)在 URI 中具有特殊含義的 ASCII 標(biāo)點(diǎn)符號(hào)(即:;/?:@&=+$,#)是會(huì)進(jìn)行編碼的。
encodeURIComponent("http://ydr.me?user=hello world"); // "http%3A%2F%2Fydr.me%3Fuser%3Dhello%20world" decodeURIComponent("http%3A%2F%2Fydr.me%3Fuser%3Dhello%20world"); // http://ydr.me?user=hello world
由于 encodeURIComponent 是對(duì)URL部分編碼,因此常用于queryString、hashSearch、hashPath以及Cookie中,如:
// queryString 編碼 "http://ydr.me?from=" + encodeURIComponent("http://baidu.com"); // "http://ydr.me?from=http%3A%2F%2Fbaidu.com" // hashSearch、hashPath 編碼 "http://ydr.me#?from=" + encodeURIComponent("http://baidu.com"); // "http://ydr.me#?from=http%3A%2F%2Fbaidu.com" "http://ydr.me#!from/" + encodeURIComponent("http://baidu.com"); // "http://ydr.me#!from/http%3A%2F%2Fbaidu.com" // cookie 編碼 document.cookie = "from=" + encodeURIComponent("http://baidu.com"); // "from=http%3A%2F%2Fbaidu.com"
3、escape 和 unescape
escape 與 encodeURI 和 encodeURIComponent 類(lèi)似,都是對(duì)字符串進(jìn)行編碼。不同點(diǎn)在于該方法不會(huì)對(duì) ASCII 字母和數(shù)字進(jìn)行編碼,也不會(huì)對(duì)這些 ASCII 標(biāo)點(diǎn)符號(hào)(即: * @ - _ + . / )進(jìn)行編碼,其他所有的字符都會(huì)被轉(zhuǎn)義序列替換。
注意:ECMAScript v3 反對(duì)使用該方法,應(yīng)用使用 decodeURI() 和 decodeURIComponent() 替代它。
關(guān)于“ios如何獲取數(shù)據(jù)之encodeURI和decodeURI”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站aaarwkj.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站欄目:ios如何獲取數(shù)據(jù)之encodeURI和decodeURI-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)URL:http://aaarwkj.com/article16/dshddg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、搜索引擎優(yōu)化、移動(dòng)網(wǎng)站建設(shè)、微信小程序、網(wǎng)站內(nèi)鏈、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容