摘要:除了以上字符,其他字符出現(xiàn)在之中都必須轉(zhuǎn)義,規(guī)則是根據(jù)操作系統(tǒng)的默認(rèn)編碼,將每個(gè)字節(jié)轉(zhuǎn)為百分號(hào)加上兩個(gè)大寫的十六進(jìn)制字母。
除了以上字符,其他字符出現(xiàn)在URL之中都必須轉(zhuǎn)義,規(guī)則是根據(jù)操作系統(tǒng)的默認(rèn)編碼,將每個(gè)字節(jié)轉(zhuǎn)為百分號(hào)(%)加上兩個(gè)大寫的十六進(jìn)制字母。比如,UTF-8的操作系統(tǒng)上,http://www.example.com/q=春節(jié)...,漢字“春節(jié)”不是URL的合法字符,所以被瀏覽器自動(dòng)轉(zhuǎn)成http://www.example.com/q=%E6%...。
其中,“春”轉(zhuǎn)成了%E6%98%A5,“節(jié)”轉(zhuǎn)成了%E8%8A%82。這是因?yàn)椤按骸焙汀惫?jié)“的UTF-8編碼分別是E6 98 A5和E8 8A 82,將每個(gè)字節(jié)前面加上百分號(hào),就構(gòu)成了URL編碼。
encodeURI 方法的參數(shù)是一個(gè)字符串,代表整個(gè)URL。它會(huì)將元字符和語(yǔ)義字符之外的字符,都進(jìn)行轉(zhuǎn)義。encodeURIComponent只轉(zhuǎn)除了語(yǔ)義字符之外的字符,元字符也會(huì)被轉(zhuǎn)義。因此,它的參數(shù)通常是URL的路徑或參數(shù)值,而不是整個(gè)URL。
decodeURI用于還原轉(zhuǎn)義后的URL。它是encodeURI方法的逆運(yùn)算。decodeURIComponent用于還原轉(zhuǎn)義后的URL片段。它是encodeURIComponent方法的逆運(yùn)算。
在瀏覽器地址欄里,瀏覽器認(rèn)為%是個(gè)轉(zhuǎn)義字符,瀏覽器會(huì)把%與%之間的編碼,兩位兩位取出后進(jìn)行解碼,然后再傳遞給后端,然后由后端進(jìn)行再次解碼。
如果使用encodeURI()進(jìn)行了一遍編碼,傳過去后,發(fā)現(xiàn)解碼出現(xiàn)問題,需要使用兩次encodeURI方法,例如encodeURI(encodeURI("中文"));第一次是把中文編碼成%xy的格式,第二次是對(duì)%xy中的%進(jìn)行編碼%編碼成%25。
[引用地址](https://segmentfault.com/a/11...
HTMLDecode(text) { /*轉(zhuǎn)義123&456<*/ var temp = document.createElement("div"); temp.innerHTML = text; var output = temp.innerText || temp.textContent; temp = null; return output; } HTMLEncode(html) { /**反轉(zhuǎn)義 */ var temp = document.createElement("div"); (temp.textContent != null) ? (temp.textContent = html) : (temp.innerText = html); var output = temp.innerHTML; temp = null; return output; }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/100728.html
摘要:文章首發(fā)地址深入分析中的中文編碼問題背景編碼問題一直困擾著程序開發(fā)人員,尤其是在中更加明顯,因?yàn)槭强缙脚_(tái)的語(yǔ)言,在不同平臺(tái)的編碼之間的切換較多。 文章首發(fā)地址:深入分析 Java Web 中的中文編碼問題 背景: 編碼問題一直困擾著程序開發(fā)人員,尤其是在 Java 中更加明顯,因?yàn)?Java 是跨平臺(tái)的語(yǔ)言,在不同平臺(tái)的編碼之間的切換較多。接下來將介紹 Java 編碼問題出現(xiàn)的根本原...
摘要:上一篇文章網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)部署相關(guān)庫(kù)的安裝下一篇文章網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)網(wǎng)頁(yè)基礎(chǔ)在寫爬蟲之前,還是需要了解一些爬蟲的基礎(chǔ)知識(shí),如原理網(wǎng)頁(yè)的基礎(chǔ)知識(shí)爬蟲的基本原理基本原理等。由萬(wàn)維網(wǎng)協(xié)會(huì)和工作小組共同合作制定的規(guī)范,目前廣泛使用的是版本。 上一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---14、部署相關(guān)庫(kù)的安裝:Scrapyrt、Gerapy下一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---16、Web網(wǎng)頁(yè)基礎(chǔ)...
摘要:與響應(yīng)不同的是,身份驗(yàn)證并不能提供任何幫助,而且這個(gè)請(qǐng)求也不應(yīng)該被重復(fù)提交。 JavaScript中幾個(gè)最重要的大知識(shí)點(diǎn) 面向?qū)ο?DOM事件 異步交互ajax AJAX AJAX是異步的javascript和xml(Asynchronous Javascript And XML)的縮寫,用于網(wǎng)頁(yè)局部刷新,提升用戶瀏覽體驗(yàn) 通常前端程序員關(guān)于AJAX的掌握僅僅停留在會(huì)用AJAX發(fā)送...
摘要:無(wú)狀態(tài)是指協(xié)議對(duì)于事務(wù)處理沒有記憶能力。允許請(qǐng)求服務(wù)器回顯其收到的請(qǐng)求信息,該方法主要用于請(qǐng)求的測(cè)試或診斷。服務(wù)器成功處理了部分請(qǐng)求狀態(tài)碼狀態(tài)碼英文名稱中文描述多種選擇。所請(qǐng)求的資源未修改,服務(wù)器返回此狀態(tài)碼時(shí),不會(huì)返回任何資源。 HTTP 學(xué)習(xí) HTTP簡(jiǎn)介 HTTP協(xié)議是Hyper Text Transfer Protocol(超文本傳輸協(xié)議)的縮寫,是用于從萬(wàn)維網(wǎng)(WWW:Wor...
閱讀 3186·2021-11-22 13:54
閱讀 895·2021-11-04 16:08
閱讀 5469·2021-10-11 11:09
閱讀 3669·2021-09-22 16:05
閱讀 1076·2019-08-30 15:54
閱讀 449·2019-08-30 15:44
閱讀 670·2019-08-30 14:05
閱讀 1092·2019-08-30 12:46