`
mr.a
  • 浏览: 94980 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一张图看懂encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的区别

 
阅读更多

一、这四个方法的用处

1、用来编码和解码URI的

统一资源标识符,或叫做 URI,是用来标识互联网上的资源(例如,网页或文件)和怎样访问这些资源的传输协议(例如,HTTP 或 FTP)的字符串。除了encodeURI、encodeURIComponent、decodeURI、decodeURIComponent四个用来编码和解码 URI 的函数之外 ECMAScript 语言自身不提供任何使用 URL 的支持。

2、URI组成形式
一个 URI 是由组件分隔符分割的组件序列组成。其一般形式是:

Scheme : First / Second ; Third ? Fourth

其中斜体的名字代表组件;“:”, “/”, “;”,“?”是当作分隔符的保留字符

3、有和不同?

encodeURI 和 decodeURI 函数操作的是完整的 URI;这俩函数假定 URI 中的任何保留字符都有特殊意义,所有不会编码它们。

encodeURIComponent 和 decodeURIComponent 函数操作的是组成 URI 的个别组件;这俩函数假定任何保留字符都代表普通文本,所以必须编码它们,所以它们(保留字符)出现在一个完整 URI 的组件里面时不会被解释成保留字符了。

以上说明摘自ECMAScript标准,为了容易读懂做了点编辑加工。

4、图解四个函数的不同:

ECMA对这四个函数还做了详细解释,可能是为了写的更逻辑化一些,采用了类似变量配合逻辑的写法来说明,但是让初学者看得云里雾里的特别绕,所以有必要把它写得更像是人读的东西……

 图解转义与反转义URI的四种方法

当 URI 里包含一个没在上面列出的字符或有时不想让给定的保留字符有特殊意义,那么必须编码这个字符。字符被转换成 UTF-8 编码,首先从 UT​​F-16 转换成相应的代码点值的替代。然后返回的字节序列转换为一个字符串,每个字节用一个“%xx”形式的转移序列表示。(具体转换规则可以参考抽象操作EncodeDecode的说明 

 

 

http://www.cnblogs.com/shuiyi/p/5277233.html

分享到:
评论

相关推荐

    javascript中encodeURI和decodeURI方法使用介绍.docx

    ### JavaScript中encodeURI和decodeURI方法使用介绍 #### 一、基本概念 在JavaScript中,`encodeURI`和`decodeURI`是一对用于处理URL编码的重要函数。它们主要用于解决URL中包含非ASCII字符时可能出现的问题。 - ...

    ios获取数据之encodeURI和decodeURI的实例

    encodeURI 和 decodeURI 函数是用于 URL 编码和解码的,而 encodeURIComponent 和 decodeURIComponent 函数是用于 URL 参数编码和解码的。这些函数在 iOS 开发中非常重要,能够帮助开发者正确地处理 URL 和参数。

    js中文乱码问题分析及解决方案.docx

    在JavaScript中,我们可以使用三个编码函数来处理URL编码问题:escape/unescape、encodeURI/decodeURI和encodeURIComponent/decodeURIComponent。 1. escape/unescape函数 escape函数可以对传入的字符串进行转义...

    谈谈encodeURI和encodeURIComponent以及escape的区别与应用

    本文将深入探讨`encodeURI()`、`encodeURIComponent()`以及`escape()`这三个函数的区别和应用场景。 `encodeURI()`函数主要用于对整个URI(统一资源标识符)进行编码。它不会编码URI中的保留字符,包括`!`, `#`, `$...

    js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解

    这三种函数都有对应的解码函数:`unescape()`、`decodeURI()`和`decodeURIComponent()`,用于解码已编码的字符串。 1. `escape()`函数: `escape()`对字符串中的所有非ASCII字母和数字以及特定的标点符号进行编码...

    深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例

    JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape, decodeURI, decodeURIComponent 。 下面简单介绍一下它们的区别: 1 escape()函数 定义和...

    js中编码函数:escape,encodeURI与encodeURIComponent详解

    其它情况下escape,encodeURI,encodeURIComponent编码结果相同。  escape对0-255以外的unicode值进行编码时输出%u****格式  可以使用 unescape() 对 escape() 编码的字符串进行解码。  ECMAScript v3 反对使用该...

    关于URL中的特殊符号使用介绍

    javascript的Global对象(javascript的内置对象)中有四个URI方法,分别是encodeURI和decodeURI,encodeURIComponent和decodeURIComponent,浏览器模型(BOM)提供了escape和unescape。在实际应用中,URI方法更可取...

    JavaScript、C# URL编码、解码总结

    JavaScript提供了两个主要的URL编码函数:`encodeURI()` 和 `encodeURIComponent()`,以及对应的解码函数 `decodeURI()` 和 `decodeURIComponent()`。 1. `encodeURI()` 函数用于编码一个URI(统一资源标识符),它...

    javascript 对url编码 解码

    JavaScript 中对 URL 编码和解码涉及到六个函数:escape、encodeURI、encodeURIComponent、unescape、decodeURI 和 decodeURIComponent。这六个函数的使用场景和特点分别是: escape 函数:escape 函数用于将字符串...

    字符串编码的机器

    JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 。 javascript的简单编码机器和解码机器二合一

    JavaScript、JavaWeb对汉字等的编码与解码处理

    在本资源中,我们将详细介绍JavaScript和JavaWeb对汉字编码的策略,包括escape、encodeURI、encodeURIComponent等编码函数的使用,以及对应的解码函数unescape、decodeURI、decodeURIComponent的使用。 一、escape...

    JavaScript中的编码和解码函数

    js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断...

    javascript 三种编解码方式

    编码和解码操作主要涉及三对函数:escape与unescape、encodeURI与decodeURI、encodeURIComponent与decodeURIComponent。下面详细解释每一对函数的功能及使用场景。 1. escape函数与unescape函数 escape函数用于对...

    utf-8解码小程序

    从给定的文件信息来看,这是一段HTML代码嵌入了JavaScript函数,旨在实现URL编码与解码...然而,应当注意的是,现代Web开发推荐使用`encodeURIComponent`和`decodeURIComponent`来进行更安全、更标准的URL编码与解码。

    js字符编码函数区别分析

    JavaScript提供了几个内建函数来处理字符的编码与解码,主要的编码函数包括:escape、encodeURI和encodeURIComponent,而对应的解码函数分别为unescape、decodeURI和decodeURIComponent。在本分析中,我们将详细探讨...

    前端项目-URI.js.zip

    4. **编码与解码**:提供了对URI组件进行编码和解码的功能,包括 encodeURIComponent、decodeURIComponent、encodeURI 和 decodeURI。 5. **相对URI处理**:可以将一个URI相对于另一个URI进行解析,生成相对路径或...

    Javascript下的urlencode编码解码方法附decodeURIComponent

    首先,我们来看`encodeURIComponent`函数,它是用于编码URI(统一资源标识符)组件的。当你需要将字符串包含在URL中,特别是作为查询参数时,这个函数非常有用。它会将特殊字符(包括空格)转换为 `%` 后跟两位十六...

    JSP中js传递和解析URL参数以及中文转码和解码问题.docx

    在JavaScript中,可以通过`encodeURI`或`encodeURIComponent`进行编码,而使用`decodeURI`或`decodeURIComponent`进行解码。 - **编码**: ```javascript var encodedChinese = encodeURIComponent('中文'); ...

Global site tag (gtag.js) - Google Analytics