国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > iOS > 正文

ios獲取數(shù)據(jù)之encodeURI和decodeURI的實(shí)例

2019-10-21 18:43:50
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在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() 替代它。

以上這篇ios獲取數(shù)據(jù)之encodeURI和decodeURI的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到IOS開(kāi)發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 会昌县| 左贡县| 迁西县| 丰镇市| 高清| 定兴县| 四川省| 长治市| 汝城县| 鲁甸县| 南投县| 寻甸| 玛纳斯县| 肃宁县| 县级市| 秦皇岛市| 娱乐| 张家界市| 百色市| 普陀区| 灌云县| 五家渠市| 武强县| 绵阳市| 台安县| 石首市| 永清县| 读书| 太白县| 怀来县| 西充县| 桂林市| 开江县| 鹿邑县| 桦川县| 呼图壁县| 福海县| 广平县| 霍州市| 乌拉特后旗| 沛县|