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 标点符号进行编码: - _ . ! ~ * ' ( ) 。 该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#
3 encodeURIComponent() 函数 定义和用法 encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。 语法 encodeURIComponent(URIstring) 参数 描述 URIstring 必需。一个字符串,含有 URI 组件或其他要编码的文本。 返回值 URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。 说明 该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。 其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。 提示和注释 提示:请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。
4 总结: 通过对三个函数的分析,我们可以知道:escape()除了 ASCII 字母、数字和特定的符号外,对传进来的字符串全部进行转义编码,因此如果想对URL编码,最好不要使用此方法。而encodeURI() 用于编码整个URI,因为URI中的合法字符都不会被编码转换。encodeURIComponent方法在编码单个URIComponent(指请求参数)应当是最常用的,它可以讲参数中的中文、特殊字符进行转义,而不会影响整个URL。
分享到:
相关推荐
字符串分割,即将一个字符串分割为多个字符串,JavaScript 中给我们提供了一个非常方便的函数 `split()`: * `var myStr = "I,Love,You,Do,you,love,me"; var substrArray = myStr.split(","); // ["I", "Love", ...
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 。 javascript的简单编码机器和解码机器二合一
本文将详细介绍一个专门用于处理中文字符串截取的JavaScript函数,该函数能够根据字符的实际编码长度来精确控制截取的长度。 #### 二、关键概念解析 ##### 2.1 字符串截取 字符串截取是指从一个较长的字符串中...
这个"javascript加解密字符串"项目提供了一个基于JavaScript的小工具,用于对字符串进行加密和解密操作。下面我们将详细探讨JavaScript中的字符串加解密原理、常用方法以及可能涉及到的相关知识点。 1. **字符串...
通过以上介绍,我们可以看出实现“JavaScript中文转拼音”的工具涉及到了字符编码、JavaScript字符串处理、HTML5交互以及第三方库的使用等多个技术点。在实践中,开发者需要结合具体需求,灵活运用这些知识,以创建...
在JavaScript中,可以使用内置函数 parseInt() 来将十六进制字符串转换为十进制整数,使用 toString(16) 方法将十进制整数转换为十六进制字符串。 4. 浮点数转换为十六进制的JavaScript实现方法: 根据上述内容,...
在JavaScript中,判断一个字符串是否属于GBK编码是一个常见的需求,特别是在处理中文字符集时。GBK是GB2312的扩展,包含了更多的汉字和其他字符,是Windows系统中广泛使用的中文编码标准。本篇将深入探讨如何通过...
例如,可以使用`concat`函数来拼接两个字符串。这种方法相对直接且减少了代码复杂性,尤其是当需要频繁处理字符串操作时。 在Solidity的最新版本中,推荐使用`abi.encodePacked`或`keccak256`结合`abi.decode`方法...
在 JavaScript 中,有三个可以对字符串编码的函数,分别是 escape()、encodeURI()、encodeURIComponent(),每个函数都有其特定的用途和应用场景。 1. escape() 函数 escape() 函数可以对字符串进行编码,这样就...
通过循环遍历字符串中的每个字符,使用`charCodeAt()`方法获取字符的Unicode编码值。如果该值超出ASCII范围(即不在0~255之间),则认为该字符为Unicode字符,其长度计为2;反之,则长度计为1。最终累加得到总长度并...
Base64是一种基于64个字符的编码方式,被广泛应用于电子邮件、网页和其他需要将二进制数据转换为文本格式的场景中。由于互联网传输的数据通常需要以ASCII文本形式发送,而ASCII字符集中只有128个字符,为了确保数据...
这些函数可以在 JavaScript 中实现字符串和十六进制编码的转换。 四、ASP.NET 实践应用 在 ASP.NET 中,字符串和十六进制编码转换有很多实践应用。例如,在 KindEditor 图片上传的 ASP.NET 代码实例中,就需要使用...
在JavaScript中,有`btoa()`和`atob()`函数分别用于编码和解码。 4. **响应与输出**:在ASP中,我们通常使用Response对象向浏览器发送内容。编码完成后,可以将base64字符串通过Response.Write输出到HTML中;解码时...
- **`eval()`**:执行一个字符串并将其当作JavaScript代码来运行。 - **`isNaN()`**:判断传入参数是否为非数字。 - **`parseFloat()`**:解析一个字符串并返回浮点数。 - **`parseInt()`**:解析一个字符串并返回...
字符串连接是常见的操作,可以使用加号(+)来拼接多个字符串,例如 `var longString = 'Long '+ 'long '+ 'long '+ 'string';`。这种方式也可以用来处理长字符串,使其在源代码中跨越多行。 JavaScript字符串还支持...
2. **URL编码**:JavaScript的`encodeURIComponent`函数可以对字符串进行URL编码,但默认它只处理UTF-8编码。为了GBK编码的字符串能正确编码,需要先将GBK编码后的字节序列转换为 `%xx` 形式,这可以通过遍历字节...
在提供的“UNICODE与汉字互转.txt”文件中,很可能包含了一个简单的命令行工具或JavaScript脚本,用于汉字与Unicode之间的转换。使用这样的工具,你可以将大量汉字文本快速转换为Unicode编码,或者反之。具体使用...
5. **连接**:使用`+`操作符可以将两个字符串拼接在一起。 6. **复制**:`*`操作符可以用于重复字符串,如`str * n`表示str重复n次。 7. **查找与替换**:`find()`、`index()`、`replace()`等方法用于查找子串位置...
在JavaScript中,Base64是一种常见的数据编码方式,它将任意二进制数据转换成ASCII字符串,便于在网络上传输。由于Base64编码是基于拉丁字母、数字、加号和斜线这64个字符,因此对于包含非ASCII字符(如中文)的数据...
- **`encodeURIComponent`**:该函数接受一个字符串作为参数,并返回一个经过URL编码的字符串。 - **`decodeURIComponent`**:该函数则接受一个经过URL编码的字符串,并返回原始字符串。 #### 三、示例代码分析 ...