JavaScript中encodeURI与decodeURI的使用详解

作者:异步漫步时间:2026-10-27 10:05:40浏览:341

本文介绍JavaScript中encodeURI和decodeURI函数的配对使用方法。encodeURI用于将包含中文等特殊字符的URL编码,避免浏览器解析错误,同时保留特定分隔符如冒号、分号和问号。decodeURI则用于将编码后的字符串还原。通过示例展示了如何对包含中文的URL进行编码和解码操作,并对比了Java中对应的URLDecoder和URLEncoder类。

一、基本概念

基本概念

encodeURI和decodeURI通常配合使用。当浏览器地址栏包含中文字符时,可能会引发不可预知的错误。此时,可以使用encodeURI将非英文字符转换为英文编码格式,而decodeURI则用于将编码后的字符还原为原始内容。需要注意的是,encodeURI方法在编码时会保留特定的字符,包括冒号(:)、斜杠(/)、分号(;)和问号(?),不进行编码。如果需要对这些字符也进行编码,应使用encodeURIComponent方法。


decodeURI()函数的功能类似于Java中的java.net.URLDecoder.decode(URIString, "UTF-8")方法。


encodeURI()函数的功能类似于Java中的java.net.URLEncoder.encode(URIString, "UTF-8")方法。



二、例子

代码示例

具体实现代码如下:

 
<script type="text/javascript">
var uriStr = "http://www.baidu.com?name=张三&num=001 zs";
var uriec = encodeURI(uriStr);
document.write("编码后的" + uriec);
var uridc = decodeURI(uriec);
document.write("解码后的" + uridc);
</script>

编码后的结果为:http://www.baidu.com?name=%E5%BC%A0%E4%B8%89&num=001%20zs


解码后的结果为:http://www.baidu.com?name=张三&num=001 zs

作者最新文章