Javascript URL编码方法的比较
javascript中存在几种对URL字符串进行编码的方法:escape(),encodeURI(),以及encodeURIComponent()。这几种编码所起的作用各不相同。
escape() 方法:
采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。
不会被此方法编码的字符: @ * / +
encodeURI() 方法:
把URI字符串采用UTF-8编码格式转化成escape格式的字符串。
不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + '
encodeURIComponent() 方法:
把URI 字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误。
不会被此方法编码的字符:! * ( ) '
因 此,对于中文字符串来说,如果不希望把字符串编码格式转化成UTF-8格式的(比如原页面和目标页面的charset是一致的时候),只需要使用 escape。如果你的页面是GB2312或者其他的编码,而接受参数的页面是UTF-8编码的,就要采用encodeURI或者 encodeURIComponent。
另外,encodeURI/encodeURIComponent是在javascript1.5之后引进的,escape则在javascript1.0版本就有。
本文来源:http://www.zeali.net/entry/160
Javascript URL编码方法的比较相关推荐
- JS中URL编码方法的比较
URL编码方法的比较 Posted by zeal on 2005-08-31 17:35 , 860 characters | + 1 - 0 English 转载请保留本行原始出处声明信息 ...
- javascript URL实现简易书签
简介 在HTML中,我们可以将js嵌入到script标签中,可以嵌入到行内代码中,也可以嵌入到src(href)中. 后者称作javascript URL.该方式的URL格式固定:javascript ...
- javascript:URL编解码和父子窗口交互
简单的URL编解码 URL编码使用javascript的escape实现,在后台也可用System.Web.HttpUtility.UrlEncodeUnicode()实现. 在解码时使用javasc ...
- JavaScript URL编码 代码片段记忆
//刷新预案列表 function gridReload(){ var name = jQuery("#fileName").val(); /** * URL特殊符号及编码: * ...
- JavaScript URL参数读取
* 用法: * var args = getArgs( ); // 从 URL 解析出参数 * var q = args.q || ""; // 如果定义了某参数,则使用其值,否则 ...
- Javascript url 小逻辑
情况1 : var xhr = new XMLHttpRequest(); xhr.open("GET", "/api/products", true); xh ...
- 通过url,获取html内容,并解析,如何使用 JavaScript 解析 URL
在 Web 开发中,有许多情况需要解析 URL,这篇主要学习如何使用 URL 对象实现这一点. 开始 创建一个以下内容的 HTML 文件,并在浏览器中打开. JavaScript URL parsin ...
- 《JavaScript高级程序设计(第3版)》教程大纲
词条 <JavaScript高级程序设计>是2006年人民邮电出版社出版的图书,作者是(美)(Nicholas C.Zakas)扎卡斯.本书适合有一定编程经验的开发人员阅读,也可作为高校相 ...
- url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介
转载地址:http://www.haorooms.com/post/js_escape_encodeURIComponent 引子 浏览器URl地址,上网一定会用到,但是浏览器地址有中文或者浏览器ur ...
最新文章
- c语言基础知识pdf下载,C语言主基础知识.pdf
- java中磁盘和内存的相互,Java:有没有磁盘和内存一样快的情况?
- PLM在企业中的实际价值与意义
- 全面理解Javascript闭包和闭包的几种写法及用途
- 批量离线下载迅雷快传资源
- 幂等校验是什么意思_阿里面试官:接口的幂等性怎么设计?
- wxWidgets:wxWebViewEvent类用法
- 提示No Launcher activity found
- MySQL 优化 —— EXPLAIN 执行计划详解
- 安全威胁建模综述_如何使用威胁建模分析应用程序的安全性
- Node.js摸石头系列目录
- PHP的接口(interface)
- mysql的utf-8怎么用_记住:永远不要在MySQL中使用UTF-8
- python locust post 参数拼接md5_Locust性能测试--接口加密参数关联
- eyoucms个人网站去版权
- c++ map查找key
- android 扫描手机内存和SD卡,获取手机的视频、音频文件。把获取不到的文件扫描出来
- VUE时间范围选择的组件
- vue——axios请求成功却进入catch的原因
- ....他乡遇故知....