1. 程式人生 > >js解碼編碼decodeURI與decodeURIComponent區別

js解碼編碼decodeURI與decodeURIComponent區別

這是一個系列,記錄我前端開發常用的程式碼,小常識,有些是參考網上程式碼,(講的可能有點爛,求不要打臉,嚶嚶嚶~~)送給那些需要的人。可以相互交流,喜歡的加我吧。
Wx: Lxp911221

decodeURI與decodeURIComponent區別

encodeURI()不會對本身屬於URI的特殊字元進行編碼,例如冒號、正斜槓、問號和井字號;
而encodeURIComponent()則會對它發現的任何非標準字元進行編碼。

來看下面的例子:

var uri="http://www.jxbh.cn/illegal value.htm#start";
//”http://www
.jxbh.cn/illegal%20value.htm#start” alert(encodeURI (uri)): //”http%3A%2F%2Fwww.jxbh.cn%2Fillegal%20value.htm%23start” alert( encodaURIComponent (uri));

使用encodeURI()編碼後的結果是除了空格之外的其他字元都原封不動,只有空格被替換成了%20。
而encodeURIComponent()方法則會使用對應的編碼替換所有非字母數字字元。

這也正是可以對整個URI使用encodeURI(),而只能對附加在現有URI後面的字串使用encodeURIComponent()的原因所在。
一般來說,我們使用encodeURIComponent()方法的時候要比使用encodeURI()更多,因為在實踐中更常見的是對查詢字串引數而不是對基礎URL進行編碼.

很多網站的cookie在進行編碼的時候,是encodeURIComponent格式的,所以應該使用decodeURIComponent()進行解碼

相關推薦

js解碼編碼decodeURIdecodeURIComponent區別

這是一個系列,記錄我前端開發常用的程式碼,小常識,有些是參考網上程式碼,(講的可能有點爛,求不要打臉,嚶嚶嚶~~)送給那些需要的人。可以相互交流,喜歡的加我吧。 Wx: Lxp911221

JavaScript decodeURI()decodeURIComponent()區別

decodeURI()定義和用法:decodeURI()函式可對encodeURI()函式編碼過的URI進行解碼. 語法:decodeURI(URIstring) 引數描述:URIstring必需,一個字串,含有要解碼的URI組或其他要解碼的文字. 返回值:URIstrin

javascript中的decodeURI()decodeURIComponent()

特殊 ava 也不會 body lencod 編碼 解決 script school 最近做了一個上傳進度條模塊,需要取得返回的url,但是無奈,取得的是亂碼,於是在服務器端把返回的url進行encode編碼,然後在js中進行解碼,一開始采用的是decodeURI(),如下

JS中encodeURIComponent(URL)編碼decodeURIComponent(URL)解碼詳解

(1)   encodeURIComponent(url) 函式 定義和用法        encodeURIComponent() 函式可把字串作為 URI 元件進行編碼。 語法     

jsdecodeURI()和encodeURI()區別decodeURIComponent和encodeURIComponent區別

nbsp sch www 問題 encode 替換 副本 字符替換 序列 decodeURI()定義和用法:decodeURI()函數可對encodeURI()函數編碼過的URI進行解碼.語法:decodeURI(URIstring)參數描述:URIstring必需,一個字

詳談js對url進行編碼解碼(三種方式的區別)

今天在專案中發現一個bug,原作者本意是提取url中的某段資訊與一已知資訊進行比較,如果成立則執行相應程式碼。找來找去發現邏輯並沒有問題,但是前段樣式並沒有改變,通過控制檯列印提取出來的結果,發現是一段UTF8加密的文字,最後進行相應的解碼程式碼才生效。 J

js對url進行編碼解碼(三種方式區別

*** 只有 0-9[a-Z] $ - _ . + ! * ' ( ) , 以及某些保留字,才能不經過編碼直接用於 URL。 ***例如:搜尋的中文關鍵字,複製網址之後再貼上就會發現該URL已經被轉碼。 1、escape 和 unescape 原理:對除ASCII字母、數字、標點符號 @  *  _  +

js字符串Unicode編碼互相轉換

char 字符串 name targe ron strong target nbsp log ‘好‘.charCodeAt(0).toString(16) "597d" 這段代碼的意思是,把字符‘好‘轉化成Unicode編碼, 看看charCodeAt()是怎麽個意思

js == === 的區別[轉]

tro ber key 進行 nbsp 如果 不同 num false we文章轉自http://blog.sina.com.cn/s/blog_4b32835b01014iv9.html 1、對於string,number等基礎類型,==和===是有區別的 1)不同類型間

PHP編碼gzdeflateGolang解碼DEFLATE

gzdeflate golang deflate 解碼 編碼[email protected]/* */:“數據存到redis是gzdeflate壓縮過的數據,golang從redis取出來,解壓縮失敗”。很多從PHP轉Golang的業務經常會遇到,所以寫下這篇博文,希望可以幫助更多人。想要使用g

小tips:JS == === 的區別

arr ron tip 基礎類型 code down ray 如果 進行 1、對於string,number等基礎類型,==和===是有區別的1)不同類型間比較,==之比較“轉化成同一類型後的值”看“值”是否相等,===如

js 中使用var省略var 定義變量的區別

不必要 pos pan 定義 就是 body 對象 gpo ole 在js中定義變量的時候,我們習慣了用var,其實省略var也可以用的。 今天總結一下,使用var或省略var 定義變量的區別 1、var 私有變量,只能在當前js使用,或者在當前作用域使用,定義私有變量,

js onclickaddEventListener 區別及用法

nbsp scala 一段 onclick 元素 user 不同的 公司 utf-8 addEventListener(建議使用)好比一個監聽容器,這個容器裏面可以裝很多個監聽事件,而且每一個事件都會執行。 onclick 在今天之前我使用這個(onclick)比較多(單純

jsjq 區別地方

1、載入DOM區別 JavaScript: window.onload function first(){ alert(‘first’); } function second(){ alert(‘second’); } window.onload = first; window.on

JS】深拷貝淺拷貝的區別,實現深拷貝的幾種方法

如何區分深拷貝與淺拷貝,簡單點來說,就是假設B複製了A,當修改A時,看B是否會發生變化,如果B也跟著變了,說明這是淺拷貝,拿人手短,如果B沒變,那就是深拷貝,自食其力。 此篇文章中也會簡單闡述到棧堆,基本資料型別與引用資料型別,因為這些概念能更好的讓你理解深拷貝與淺拷貝。 我們來舉個淺拷貝例

c# UTF-8解碼編碼及陣列List<string>之間轉換等基本知識點總結

Encoding utf8 = Encoding.UTF8; //首先用utf-8進行解碼                 &

看懂encodeURI、encodeURIComponent、decodeURIdecodeURIComponent區別

一、這四個方法的用處 1、用來編碼和解碼URI的 統一資源識別符號,或叫做 URI,是用來標識網際網路上的資源(例如,網頁或檔案)和怎樣訪問這些資源的傳輸協議(例如,HTTP 或 FTP)的字串。除了encodeURI、encodeURIComponent、decodeURI、decodeURICompo

seq2seq編碼解碼器 --學習筆記

0、網路圖結構 從上圖可以看出,編碼是一個RNN網路,當然可以是一個單向RNN也可以是一個雙向RNN,C是一個context為背景變數,將輸入資訊進行編碼彙總得到一個資訊。接著由這個背景變數作為解碼的輸入,加上隱藏變數和輸出變數,得到結果在進行對映,依次得到序列的每個預測結果。

js apply的用法call的區別

https://blog.csdn.net/qq_35893120/article/details/78890357 ←原文 1.apply方法能劫持另外一個物件的方法,繼承另外一個物件的屬性。 Function.apply(obj,args)方法能接收兩個引數 obj:這個物件將代替Fun

js】 ajax axios 區別 ajax axios區別

ajax 與 axios區別 Ajax: Ajax 即“Asynchronous Javascript And XML”(非同步 JavaScript 和 XML),是指一種建立互動式網頁應用的網頁開發技術。 Ajax = 非同步 JavaScript 和