摘要:對(duì)應(yīng)對(duì)應(yīng)這里的編碼你可以用自帶的編碼函數(shù),當(dāng)然你也可以按照規(guī)則和標(biāo)準(zhǔn)自行開(kāi)發(fā)編碼函數(shù)。實(shí)戰(zhàn)應(yīng)用舉例說(shuō)了這么多可能很多人就問(wèn)了,自帶的編碼與解碼函數(shù)在實(shí)際中是如何應(yīng)用的,為什么需要兩個(gè)不同的編碼與解碼函數(shù)。
編碼與解碼函數(shù) 編碼函數(shù)
encodeURI
encodeURIComponent
decodeURI
decodeURIComponent
會(huì)替換所有的字符,但不包括以下字符
非轉(zhuǎn)義的字符:字母 數(shù)字 - _ . ! ~ * " ( )
encodeURI 還會(huì)有一些不編碼的字符,如下
保留字符:; , / ? : @ & = + $
數(shù)字符號(hào):#
解碼只會(huì)解碼對(duì)應(yīng)規(guī)則編碼出來(lái)的字符串,若不會(huì)解碼出亂碼。
encodeURI ->(對(duì)應(yīng)) decodeURI
encodeURIComponent -> (對(duì)應(yīng)) decodeURIComponent
這里的編碼你可以用JavaScript自帶的編碼函數(shù),當(dāng)然你也可以按照規(guī)則和標(biāo)準(zhǔn)自行開(kāi)發(fā)編碼函數(shù)。
說(shuō)了這么多可能很多人就問(wèn)了,JavaScript自帶的編碼與解碼函數(shù)在實(shí)際中是如何應(yīng)用的,為什么需要兩個(gè)不同的編碼與解碼函數(shù)。
const url = "https://auto.3g.163.com/"; // 字符串編碼 const params = { title: "今天去干什么?& 今天去哪里浪?", desc: "去哪里都行 & 哪里都不去!!!" }; function compURL(url, params) { let result = encodeURI(url) + "?"; for (let key in params) { result += encodeURIComponent(key) + "=" + encodeURIComponent(params[key]) + "&"; } //這樣即使帶有一些符號(hào) ? & 等也可以方便的從url 中獲取參數(shù) return result.slice(0, -1); } const urlCompd = compURL(url, params); console.log(urlCompd); // 字符竄解碼獲取數(shù)據(jù) function parseURL(url) { const result = { sourceUrl: "", params: {} }; result.sourceUrl = decodeURI(url.split("?")[0]); const paramStr = url.split("?")[1]; const paramArr = paramStr.split("&"); paramArr.forEach(item => { const itemArr = item.split("="); const key = decodeURIComponent(itemArr[0]), value = decodeURIComponent(itemArr[1]); result.params[key] = value; }); return result; } const paramsData = parseURL(urlCompd); console.log(paramsData);
在線代碼
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/105556.html
摘要:它的具體規(guī)則是,除了字母數(shù)字標(biāo)點(diǎn)符號(hào)以外,對(duì)其他所有字符進(jìn)行編碼。對(duì)應(yīng)的解碼函數(shù)是。其次,不對(duì)編碼。與的區(qū)別是,它用于對(duì)的組成部分進(jìn)行個(gè)別編碼,而不用于對(duì)整個(gè)進(jìn)行編碼。因此,,這些在中不被編碼的符號(hào),在中統(tǒng)統(tǒng)會(huì)被編碼。 Javascript語(yǔ)言用于編碼的函數(shù),一共有三個(gè),最古老的一個(gè)就是escape()。雖然這個(gè)函數(shù)現(xiàn)在已經(jīng)不提倡使用了,但是由于歷史原因,很多地方還在使用它,所以有必要...
摘要:對(duì)應(yīng)的解碼函數(shù)是。它用于對(duì)的組成部分進(jìn)行個(gè)別編碼,除了常見(jiàn)的符號(hào)以外,對(duì)其他一些在網(wǎng)址中有特殊含義的符號(hào),也不進(jìn)行編碼。元黑糖顆粒固飲編碼解碼元黑糖顆粒固飲 escape 和 unescape escape()不能直接用于URL編碼,它的真正作用是返回一個(gè)字符的Unicode編碼值 它的具體規(guī)則是,除了ASCII字母、數(shù)字、標(biāo)點(diǎn)符號(hào)@ * _ + - . /以外,對(duì)其他所有字符進(jìn)行編碼...
摘要:筆者在編碼詳解與中編碼實(shí)踐一文中介紹了中編碼相關(guān)的基礎(chǔ)知識(shí),其中沒(méi)有介紹純粹的編解碼方案,筆者后來(lái)根據(jù)網(wǎng)上的代碼完善了下這個(gè)庫(kù),并且對(duì)中三種不同的編解碼方案進(jìn)行了比較。 Isomorphic Urlencode Here is English Version For README 筆者在URL編碼詳解與DOM中GBK編碼實(shí)踐一文中介紹了JavaScript中URL編碼相關(guān)的基礎(chǔ)知識(shí),其...
摘要:當(dāng)然,也可自己寫一個(gè)轉(zhuǎn)換函數(shù),按照一定規(guī)則便行為編碼的字節(jié),如下例中國(guó)結(jié)果中國(guó)結(jié)果結(jié)果通過(guò)簡(jiǎn)單的函數(shù),就可以完成編碼到編碼的轉(zhuǎn)換,進(jìn)而完成寬字節(jié)字符到編碼的轉(zhuǎn)換。 前端開(kāi)發(fā)過(guò)程中會(huì)接觸各種各樣的編碼,比較常見(jiàn)的主要是 UTF-8 和 HTML 實(shí)體編碼,但是 web 前端的世界卻不止這兩種編碼,而且編碼的選擇也會(huì)造成一定的問(wèn)題,如前后端開(kāi)發(fā)過(guò)程中不同編碼的兼容、多字節(jié)編碼可能會(huì)造成的 ...
閱讀 1422·2021-11-15 11:38
閱讀 3567·2021-11-09 09:47
閱讀 1969·2021-09-27 13:36
閱讀 3211·2021-09-22 15:17
閱讀 2547·2021-09-13 10:27
閱讀 2862·2019-08-30 15:44
閱讀 1158·2019-08-27 10:53
閱讀 2702·2019-08-26 14:00