一些名词
utf-8 是一种编码方式 (character encoding) ,是 Unicode 标准中 UCS 字符集的一种编码方式
http://en.wikipedia.org/wiki/Percent-encoding
它有两部分字符组成:保留字符和非保留字符。
保留字符:! * ‘ ( ) ; : @ & = + $ , / ? % # [ ]
保留字符,是有特殊意义的,如果在不代表那些特殊意义而代表原意的时候出现,必须经过编码。例如1 ==> %21
非保留字符: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
0 1 2 3 4 5 6 7 8 9 – _ . ~
javascript的内置函数 encodeURI、decodeURI、encodeURIComponent、decodeURIComponent 就是进行的 Percent Encode,只是在对待 : / ; ?等特殊字符的时候有区别。
JavaScript:escape, encodeURIComponent和encodeURI
escape() will not encode: @ * / + encodeURI() will not encode: ~ ! @ # $ & * ( ) = : / , ; ? + ' encodeURIComponent() will not encode: ~ ! * ( ) '
escape('一') == '%u04BB' encodeURI('一') == '%u04BB' encodeURIComponent('一') == '%u04BB' escape('康') == '%uFFFD%uFFFD' encodeURI('康') == '%EF%BF%BD%EF%BF%BD' encodeURIComponent('康') == '%EF%BF%BD%EF%BF%BD'
escape的返回值是非标准Pecent-encoding, 现在已经没有标准支持,建议少用
主要区别:encodeURIComponent比encodeURI转码的字符要多一部分,
包括:@ # $ & = : / , ; ? +
之所以有上面两个不同的函数,是因为我们在写JS代码的时候对URI进行两种不同的编码处理需求。
encodeURI可以用来对完整的URI字符串进行编码处理。
而encodeURIComponent可以对URI中一个部分进行编码,从而让这一部分可以包含一些URI保留字符。
参考:javascript encodeURI和encodeURIComponent的比较
相关推荐
在JavaScript编程中,掌握一些常用的小技巧可以极大地提高开发效率和代码质量。以下是一些从网络上整合的实用技巧,特别适合初学者学习。 1. 事件源对象:`event.srcElement` 可以获取触发事件的元素,而 `event....
JavaScript,简称JS,是网页开发中的重要脚本语言,它为网页添加动态功能,使得用户交互更为丰富。本文将深入探讨一些JS编码技巧,帮助开发者提升网站特效的实现能力。 一、变量与数据类型 在JavaScript中,变量...
5. **其他键**:除了上述常见的键之外,还有一些特殊键可能没有在提供的列表中,如Print Screen、Scroll Lock等,它们也有对应的键码,但在JavaScript中不常用。 了解这些键码后,开发者可以利用JavaScript监听键盘...
在JavaScript中,Unicode编码通常采用UTF-16格式,其中大部分常用字符(包括汉字)由两个字节表示,而其他更复杂的字符可能需要四个字节。 二、JavaScript中的Unicode转换 在JavaScript中,有几种方法可以将汉字...
在实际开发中,我们还需要关注性能优化,如延迟加载图层、缓存常用数据、合理设置图层透明度等,以确保地图应用的流畅性。同时,API提供了良好的错误处理机制,帮助开发者诊断并解决可能出现的问题。 总之,ArcGIS ...
下面将对 JavaScript 中常用的字符串和数组方法进行总结。 字符串方法 1. `charAt()`: 返回在指定位置的字符。 2. `charCodeAt()`: 返回在指定的位置的字符的 Unicode 编码。 3. `concat()`: 连接字符串。 4. `...
JavaScript 中常用内置函数 JavaScript 中有两种函数:一种是语⾔内部事先定义好的函数叫内置函数,另一种是⾃⼰定义的函数。下面是常⽤的 6 种内置函数: 1. eval 函数 eval 函数可以把⼀个字符串当作⼀个 ...
在JavaScript(JS)中,处理中文字符编码是一个常见的需求,特别是在与服务器交互或者处理文本数据时。GB2312编码是一种在中国大陆广泛使用的简体中文字符集,它包含了6763个常用汉字和一些其他字符。在JavaScript中...
Unicode编码中的`[\u4e00-\u9fa5]`区间涵盖了绝大多数现代中文字符,因此在处理中文文本时,这是一个非常实用的模式。 ### 2. 邮件地址验证 ``` \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* ``` 此正则表达式...
"编码互换"在JavaScript中通常指的是字符编码的转换,例如从UTF-8转换到GBK,或者反之。这个主题涉及到字符集、编码标准以及如何在JavaScript中处理不同编码格式之间的转换。 字符编码是计算机存储和显示文本的方式...
在网页开发中,最常用的是UTF-8编码,因为它能支持全世界大部分语言的字符。 标题“前端中文编码问题”暗示了我们关注的焦点是前端环境中,中文字符可能遇到的显示异常或乱码问题。这通常发生在以下几个场景: 1. ...
正则表达式在JavaScript中的应用非常广泛,熟练掌握其语法和常用模式对于提高代码的健壮性和效率至关重要。通过不断实践和学习,开发者可以创建出更复杂的正则表达式,以应对各种数据验证和文本处理的需求。
本篇文章主要聚焦于JavaScript中的一些常用属性和方法,特别是针对文档对象模型(DOM)的操作。 1. **document对象**:作为JavaScript中的全局对象,它代表了整个HTML或XML文档。例如,`document.title`用于设置或...
在JavaScript中,处理进制转换和字符编码是常见的编程任务。本篇文章将详细解释这些知识点。 **一、进制转换** 进制转换是计算机科学的基础概念,主要包括二进制、八进制、十进制和十六进制之间的转换。在...
以下是一些在JavaScript编程中常见的基本编码模式和技巧: 1. **变量定义**: - 通常建议一次性声明多个变量,如`var a = 0, b = 1, c = 'xxx';`,这有助于减少代码行数并提高可读性。 2. **使用字面量**: - 尽...
6. **防止被嵌入框架**:使用JavaScript检查当前页面是否在顶级窗口中,如果不是,则重定向到包含框架的页面。 ```javascript if (window == top) top.location.href = "frames.htm"; ``` 7. **禁止网页被另存为**...
在JavaScript中,URL编码是处理URL字符串的重要环节,确保数据在网络传输过程中不会因特殊字符引起解析错误。有三种主要的函数用于对URL进行编码:`escape()`,`encodeURI()`和`encodeURIComponent()`。它们各自有...
JavaScript常用函数使用总结涵盖了多种在JavaScript编程中常用的方法,它们分别属于不同的类型,如String类型和Number类型。以下是对每个函数详细的说明和应用示例: 1. parseInt()函数 parseInt()是String类型的...
JavaScript 是一种广泛用于网页和网络应用的编程语言,尤其在前端开发中扮演着重要角色。本文将详细讲解JavaScript中的几个常见判断函数,这些函数可以帮助开发者进行数据类型的检查和验证。 首先,我们来看`...