js中字符串编码函数escape()、encodeURI()、encodeURIC
JavaScript中的字符串编码函数家族:escape、encodeURI与encodeURIComponent及其解码对应函数
在JavaScript中,对于需要在网络上传输或者存储的字符串,经常需要进行编码以确保其正确性和安全性。这其中,有三个非常有用的编码函数:escape、encodeURI和encodeURIComponent,以及相应的解码函数unescape、decodeURI和decodeURIComponent。今天,我们来聊聊它们之间的区别。
我们先了解一下这三个编码函数的基本定义和用途。
1. escape()函数
escape()函数可以对字符串进行编码,以便在所有计算机上都能正确读取。它不会对ASCII字母和数字进行编码,只会对某些特殊字符进行十六进制的转义。需要注意的是,由于escape()函数会对很多字符进行编码,包括一些在URL中合法的字符,如果需要对URL进行编码,escape()函数可能并不是最佳选择。
2. encodeURI()函数
encodeURI()函数主要用于将整个URI进行编码。它不会对ASCII字母、数字和某些标点符号进行编码,这些标点符号包括- _ . ! ~ ' ( )。该函数的目的是对URI进行完整的编码,对于一些在URI中具有特殊含义的ASCII标点符号,如;/?:@&=+$,,encodeURI()函数不会进行转义。
3. encodeURIComponent()函数
encodeURIComponent()函数用于将字符串作为URI组件进行编码。和encodeURI()函数类似,它也不会对ASCII字母、数字和某些标点符号进行编码。对于那些用于分隔URI组件的标点符号,如;/?:@&=+$,,encodeURIComponent()函数会进行转义。
接下来,我们了解一下对应的解码函数。
1. unescape()函数
是escape()函数的解码函数,可以将通过escape()函数编码的字符串进行解码。
2. decodeURI()函数
是encodeURI()函数的解码函数,可以将通过encodeURI()函数编码的字符串进行解码。
3. decodeURIComponent()函数
是encodeURIComponent()函数的解码函数,可以将通过encodeURIComponent()函数编码的字符串进行解码。
JavaScript中的URL编码方法
在Web开发中,URL编码是一个重要的环节,尤其在处理动态网页和请求时更是不可或缺。下面我们来一起JavaScript中的三种常用URL编码方法:escape(), encodeURI(), 和 encodeURIComponent()。
首先是escape()方法。此方法用于对整个字符串进行编码,编码后的结果可用于在URL中安全地传输数据。示例代码如下:
```javascript
document.write(escape(" + "
"); // 输出:http%3A%2F%2F
document.write(escape("特殊字符?!=()%&")); // 输出:%特殊字符%3F%21%3D%28%29%23%25%26amp;amp;amp;" 这条命令将会将特殊字符转换成可以安全地用在URL中的格式。例如,"?"会被转换为"%3F"。需要注意的是,这种方法会对整个字符串进行编码,包括字母和数字。对于包含特殊字符的字符串,使用escape()函数是一种非常有用的方式。对于包含保留字符的URL,建议使用其他编码方法。接着是encodeURI()方法。此方法主要用于对整个URI进行编码,允许保留一些特殊字符。示例代码如下:
```javascript
document.write(encodeURI(" + "
"); // 输出:
编程语言
- js中字符串编码函数escape()、encodeURI()、encodeURIC
- JavaScript 输出显示内容(document.write、alert、innerH
- 从零开始学习Node.js系列教程五:服务器监听方法
- ASP实现智能搜索实现代码
- php的无刷新操作实现方法分析
- springmvc 发送ajax出现中文乱码的解决方法汇总
- JavaScript调试之console.log调试的一个小技巧分享
- 树莓派安装mjpg-streamer使用摄像头的方法
- BootStrap的两种模态框方式
- Three.js获取鼠标点击的三维坐标示例代码
- ES6新增的math,Number方法
- thinkphp 抓取网站的内容并且保存到本地的实例详
- 利用jquery禁止外层滚动条的滚动
- 文本、Excel、Access数据导入SQL Server2000的方法
- PHP Curl出现403错误的解决办法
- PHPMailer使用教程(PHPMailer发送邮件实例分析)