encodeURI、encodeURIComponent和escape用法
標題中的三個方法都是用來對字串進行編碼的,當然它們之間是有區別的。
下面就對它們的作用分別做一下介紹,它們的區別自然也就知道了。
先來看一段程式碼例項:
[JavaScript] 純文字檢視 複製程式碼console.log(encodeURI("螞蟻部落")); console.log(encodeURIComponent("螞蟻部落")); console.log(escape("螞蟻部落"));
上面僅僅是對三個方法的演示,下面分別做一下介紹。
一.encodeURI()和encodeURIComponent()方法:
這兩個方法確實比較接近,所以就放在一起介紹了。
(1).encodeURI()不編碼的字元有82個:
[JavaScript] 純文字檢視 複製程式碼!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
(2).encodeURIComponent()不編碼字元有71個:
[JavaScript] 純文字檢視 複製程式碼!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
(3).encodeURI()方法通常是給整個網址編碼:
[JavaScript] 純文字檢視 複製程式碼console.log(encodeURI("http://www.softwhy.com/"));
(4).encodeURIComponent主要給url的query引數編碼:
[JavaScript] 純文字檢視 複製程式碼console.log("http://www.softwhy.com/test.php?antzone="+encodeURIComponent("螞蟻部落"));
上面兩個方法對應的解碼方法分別是:
decodeURI()
decodeURIComponent()
二.escape()方法:
此方法通常不能夠用來對URI進行編碼,對URI進行編碼的話推薦用上面兩個。
escape()返回一個包含了charstring內容的字串值( Unicode格式)。
所有空格、標點、重音符號以及其他非 ASCII 字元都用 %xx 編碼代替,xx 等於表示該字元的十六進位制數。例如,空格返回的是 "%20" 。如果字元值大於255的則用%uxxxx 格式表示。
此方法不編碼的字元有69個:
[JavaScript] 純文字檢視 複製程式碼*,+,-,.,/,@,_,0-9,a-z,A-Z
此方法對應的解碼方法是unescape()。
相關文章
- escape()、encodeURI()、encodeURIComponent()區別詳解
- JavaScript編碼函式escape()、encodeURI()、encodeURIComponent()區別JavaScript函式
- encodeURI VS encodeURIComponent
- escape,encodeURI,encodeURIComponent, URLEncode, RawURLEncode, HTMLEntity, AddSlash, JSON EncodeHTMLJSON
- encodeURI與encodeURIComponent區別
- 淺析encodeURI,encodeURIComponent,decodeURI,decodeURIComponent
- encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的區別
- 一張圖看懂encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的區別
- ORACLE中ESCAPE關鍵字用法Oracle
- decodeURI和escape
- JavaScript encodeURI()JavaScript
- JavaScript encodeURIComponent()JavaScript
- JavaScript escape()JavaScript
- escape in ABAP and JavaScriptJavaScript
- JavaScript unescape()JavaScript
- MySql escape如何使用MySql
- ORACLE escape stringOracle
- Deals for 07 Runescape GoldGo
- mysql 的Escape轉義字串MySql字串
- RuneScape - To verify your level of combatBAT
- Lodash原始碼分析-escape.js原始碼JS
- using escape character whitin oracleOracle
- NSHashTable和NSMapTable用法APT
- Thankfully, we have sites such as RuneScape playerAuctions
- underscore 系列之字元實體與 _.escape字元
- 【oracle 匯入、匯出】escape 的作用。Oracle
- HttpWebRequest和WebClient的用法HTTPWebclient
- @Async的用法和示例
- startActivityForResult()和onSaveInstanceState()用法
- oncopy和onpaste事件用法AST事件
- jQuery map和each用法jQuery
- java和redies的用法Java
- linux中#和## 用法Linux
- AT NEW 和AT END OF的用法
- AT NEW 和AT END OF的用法。
- json字串轉義格式化後再轉換處理demo StringEscapeUtils.unescapeJavaJSON字串Java
- MySql escape的使用案例詳解獗鰳MySql
- 狀壓 + 網路流 -- Escape HDU - 3605