encodeuri

什么时候应该使用转义而不是encodeURI / encodeURIComponent?

橙三吉。 提交于 2020-04-05 18:41:17
问题: When encoding a query string to be sent to a web server - when do you use escape() and when do you use encodeURI() or encodeURIComponent() : 在对要发送到Web服务器的查询字符串进行编码时-什么时候使用 escape() 以及什么时候使用 encodeURI() 或 encodeURIComponent() : Use escape: 使用转义: escape("% +&="); OR 要么 use encodeURI() / encodeURIComponent() 使用encodeURI()/ encodeURIComponent() encodeURI("http://www.google.com?var1=value1&var2=value2"); encodeURIComponent("var1=value1&var2=value2"); 解决方案: 参考一: https://stackoom.com/question/JlU/什么时候应该使用转义而不是encodeURI-encodeURIComponent 参考二: https://oldbug.net/q/JlU/When-are-you-supposed-to-use

encodeURI encodeURIComponent

假装没事ソ 提交于 2020-03-30 21:24:47
一下内容来自:http://www.jb51.net/article/22880.htm 背景 encodeURI 和 encodeURIComponent都是ECMA-262标准中定义的函数,所有兼容这个标准的语言(如JavaScript, ActionScript)都会实现这两个函数。它们都是用来对URI (RFC-2396)字符串进行编码的全局函数,但是它们的处理方式和使用场景有所不同。为了解释它们的不同,我们首先需要理解RFC-2396中对于URI中的字符分类 保留字符(reserved characters):这类字符是URI中的保留关键字符,它们用于分割URI中的各个部分。这些字符是:";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | "," Mark字符(mark characters):这类字符在RFC-2396中特别定义,但是没有特别说明用途,可能是和别的RFC标准相关。 这些字符是:"-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")" 基本字符(alphanum characters):这类字符是URI中的主体部分,它包括所有的大写字母、小写字母和数字 在介绍完上面三类字符串后

关于 escape、encodeURI、encodeURIComponent

旧巷老猫 提交于 2020-03-30 18:44:36
参考资料: http://hi.baidu.com/flondon/item/983b3af35b83fa13ce9f3291      http://www.w3school.com.cn/js/jsref_escape.asp escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。解码: unescape() encodeURI() 函数可把字符串作为 URI 进行编码。 解码:decodeURI() encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。解码:decodeURIComponent() 共同点: 这三个函数均采用unicode字符集。 不同点: escape是将字符的unicode编码转化为16进制序列(转义序列, 转义序列(escape sequences) ),其不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z。 encodeURI是将字符的unicode编码通过UTF-8来表示,其不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z。 encodeURIComponent也是将字符的unicode编码通过UTF-8来表示,其与encodeURI的唯一区别就是它们不编码的字符有所差别

结合实例详细介绍encodeURI()、encodeURIComponent()、decodeURI()、decodeURIComponent()使用方法

ε祈祈猫儿з 提交于 2020-03-30 18:41:31
在介绍encodeURI()、encodeURIComponent()、decodeURI()、decodeURIComponent()方法前我们需要了解Global对象的概念: Global(全局)对象可以说是ECMAScript中最特别的一个对象了,因为不管你从什么角度上看,这个对象都是不存在的。ECMAScript中的Global对象在某种意义上是作为一个终极的“兜底儿对象”来定义的。换句话说,不属于任何其他对象的属性和方法,最终都是它的属性和方法。事实上,没有全局变量或全局函数;所有在全局作用域中定义的属性和函数,都是Global对象的属性。本书前面介绍过的那些函数,诸如isNaN()、isFinite()、parselnt()以及parseFloat(),实际上全都是Global对象昀方法。除此之外,Global对象还包含其他一些方法。 URI编码方法 Global对象的encodeURI()和encodeURIComponent()方法可以对URI (Uniform ResourceIdentifiers,通用资源标识符)进行编码,以便发送给浏览器。有效的URI中不能包含某些字符,例如空格。而这URI编码方法就可以对URI进行编码,它们用特殊的UTF-8编码替换所有无效的字 符,从而让浏览器能够接受和理解。 其中encodeURI()主要用于整个URI(例如,http:

encodeURI、encodeURIComponent、escape区别

喜你入骨 提交于 2020-03-30 18:40:48
  在as3中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 。 1 public function escape(str:String):String 将参数转换为字符串,并以 URL 编码格式对其进行编码,在这种格式中,大多数非字母数字的字符都替换为 % 十六进制序列。当用于 URL 编码的字符串时,百分号 (%) 用于引入转义字符,不与模运算符 (%) 等效。 下表显示不会 由 escape() 函数转换为转义序列的所有字符。 未编码的字符 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z @ - _ . * + / 参数 str:String — 要转换为字符串并以 URL 编码格式进行编码的表达式。 返回 String — 一个 URL 编码的字符串。 2 public function encodeURI(uri:String):String 将字符串编码为有效的 URI(统一资源标识符)。将完整的 URI

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

て烟熏妆下的殇ゞ 提交于 2020-03-30 18:38:00
一、这四个方法的用处 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、图解四个函数的不同:

encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的区别

喜夏-厌秋 提交于 2020-03-30 18:35:00
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

看懂encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的区别

前提是你 提交于 2020-03-30 18:32:57
一、这四个方法的用处 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、图解四个函数的不同:

encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的区别

杀马特。学长 韩版系。学妹 提交于 2020-03-30 18:30:54
一、这四个方法的用处 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对这四个函数还做了 详细解释 当

escape()、encodeURI()、encodeURIComponent()区别详解

谁说我不能喝 提交于 2020-03-30 18:24:54
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 。 下面简单介绍一下它们的区别 1 escape()函数 定义和用法 escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。 语法 escape(string) 参数 描述 string 必需。要被转义或编码的字符串。 返回值 已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。 说明 该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。其他所有的字符都会被转义序列替换。 2 encodeURI()函数 定义和用法 encodeURI() 函数可把字符串作为 URI 进行编码。 语法 encodeURI(URIstring) 参数 描述 URIstring 必需。一个字符串,含有 URI 或其他要编码的文本。 返回值 URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。 说明 该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。