一、cape() 方法:
采用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版本就有。
<title> url字符串的加密与解密 </title>
<script language="JavaScript">
var str="http://hi.baidu.com/bbjjss2008l?country=中国&name=jz";
var urlStr=escape(str);
document.write("escape方法加密:<br>"+urlStr+"<br>解密后url字符串是:<br>"+unescape(str));
urlStr=encodeURI(str);
document.write("<br>encodeURI:方法加密:<br>"+urlStr+"<br>解密后url字符串是:<br>"+decodeURI(str));
urlStr=encodeURIComponent(str);
document.write("<br>encodeURIComponent:方法加密:<br>"+urlStr+"<br>解密后url字符串是:<br>"+decodeURIComponent(str));
</script>
四、用java解码
用request.getParameter的时候java会自动对encodeURIComponent的编码进行一次解码。
所以当
var value = encodeURIComponent('张');
String value= request.getParameter("value");
value值为张
也可以进行二次编码
var value2 = encodeURIComponent(encodeURIComponent('周'));
String value2= request.getParameter("value");
value2= URLDecoder.decode(value2, "UTF-8");
此时value2值为周
分享到:
相关推荐
在ASP(Active Server Pages)中使用JavaScript的encodeURIComponent方法涉及到服务器端的ASP和客户端的JavaScript两种技术的结合使用。这是一种常见的跨语言交互方法,可以在服务器端代码中插入客户端JavaScript代码...
1. 字符编码:URL编解码通常基于ASCII编码,但现代的URL标准(如RFC3986)推荐使用UTF-8编码。在易语言中,你需要选择合适的字符编码方式来处理非ASCII字符。 2. 转义字符:易语言需要识别哪些字符需要转义,并用...
在LoadRunner的脚本编写过程中,我们经常需要处理字符串,尤其是将普通字符串转换为URL编码格式,以确保数据正确无误地发送到服务器。本文将详细介绍如何在LoadRunner中进行URL编码,以及提供的C代码和转换工具。 ...
在前端开发中,工具类库(如comUtils)是开发者常用的一种代码复用方式,它包含了一系列实用函数,可以简化日常编码工作,提高开发效率。`comUtils`这个工具类库,正如其名,主要是为前端JavaScript开发提供各种通用...
- URL编码:对于GET请求,URL中的中文字符需要通过`encodeURIComponent`函数进行URL编码,服务器端再进行解码。 2. Sqlite3数据库中文乱码: Sqlite3是一个轻量级的数据库引擎,它在处理中文字符时也有类似的问题...
一、基本概念 encodeURI...”,encodeURIComponent方法可以对这些字符进行编码。 decodeURI()方法相当于java.net.URLDecoder.decode(URIString, “UTF-8”); encodeURI()方法相当于java.net.URLEncoder.encode(URIStri
在现代Web开发中,`escape`和`unescape`的使用已经逐渐减少,取而代之的是`encodeURIComponent`和`decodeURIComponent`,因为它们提供了更精确的URI编码控制。 总的来说,理解和正确使用`encodeURI`、`decodeURI`、...
1. **定义函数**:创建两个函数,一个用于编码(如`EncodeURL`),另一个用于解码(如`DecodeURL`)。 2. **获取字符集**:确定要处理的字符集,例如GBK或UTF-8,这对于正确地处理中文字符至关重要。 3. **编码过程*...
在JavaScript中,通常需要将URL转换为URL编码(urlencode)格式,特别是在处理查询字符串时。URL编码是一种编码方式,它使用百分号(%)后跟两位十六进制数来表示非ASCII字符。 编写一个JavaScript函数来转换网址为...
在本文中,我们将深入探讨一个名为 `ajax.js` 的JavaScript文件,它被用来实现内容的动态显示效果,特别是基于特定ID进行操作。这个脚本利用了AJAX(Asynchronous JavaScript and XML)技术,这是一种在不刷新整个...
如果需要对包括保留字符在内的所有字符进行编码,可以使用encodeURIComponent函数。使用示例如下: ```javascript var data = "要传到服务器端的是值"; var encodedData = encodeURI(encodeURI(data)); // 调用两次...
ENCODEURL函数可以将字符串转换为URL编码。 八、三角函数(80个) 三角函数用于计算和操作三角函数,常用的三角函数有SIN函数等。SIN函数可以计算一个角度的正弦值。 九、财务函数(55个) 财务函数用于计算和...
通过HttpUtils类的encodeUrl()和decodeUrl()方法,开发者可以轻松地对URL进行编码和解码。 3. **HEX编码和解码**:HEX编码是将二进制数据转化为16进制表示的一种方式。Apache Commons Codec的Hex类提供了便捷的HEX...
常用方法如`setHeader()`、`setStatus()`和`encodeURL()`。 4. **session对象**:用于保持用户会话状态,存储用户信息。常用的函数有`getAttribute()`和`setAttribute()`,以及`invalidate()`来结束会话。 5. **...
lua-base64mix base64编码/解码模块 安装 ...应用程序接口 编码 str, err = base64mix.encode( src:string ) local base64mix = require ( ' base64... 此函数会将参数编码为 base64url 格式。 解码 str, err = base64
- response对象:对客户端进行响应,常用方法如encodeURL()用于URL编码,setContentType()用于设定输出内容的类型。 - session对象:用于维护用户会话状态,如存储用户登录信息。其运行机制基于cookie或隐藏的HTTP...
2. **避免路径附加**:编码URL时,不应在调用`encodeURL()`之后添加额外的路径信息。编码应该在调用方法前完成。例如,正确生成XSLT转换的URL应该是: ```jsp <@= renderResponse.encodeURL(renderRequest....
DWR,全称Direct Web Remoting,是一种开源框架,用于在客户端JavaScript中直接调用服务器端的Java方法,无需编写复杂的XML或JSON数据格式化代码。这大大简化了Ajax应用的开发,使得前端与后端之间的交互更加直观和...
例如,在Servlet或JSP文件中,可以使用`HttpServletResponse`接口中的`encodeURL()`和`encodeRedirectURL()`方法来对URL进行编码。这两个方法的作用在于确保即使在没有Cookie的情况下,也能通过URL重写的方式维持...