encodeURI与decodeURI

一、基本概念
encodeURI和decodeURI是成对来使用的,因为浏览器的地址栏有中文字符的话,可以会出现不可预期的错误,所以可以encodeURI把非英文字符转化为英文编码,decodeURI可以用来把字符还原回来。encodeURI方法不会对下列字符进行编码:":"、"/"、";" 和 "?",encodeURIComponent方法可以对这些字符进行编码。
decodeURI()方法相当于java.net.URLDecoder.decode(URIString, "UTF-8");
encodeURI()方法相当于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

参考地址:http://blog.csdn.NET/hnwangdan/article/details/5968657

时间: 2024-08-30 03:38:20

encodeURI与decodeURI的相关文章

URL地址中中文乱码详解(javascript中encodeURI和decodeURI方法、java.net.URLDecoder.encode、java.net.URLDecoder.decode)

引言: 在Restful类的服务设计中,经常会碰到需要在URL地址中使用中文作为的参数的情况,这种情况下,一般都需要正确的设置和编码中文字符信息.乱码问题就此产生了,该如何解决呢?且听本文详细道来. 1.  问题的引出 在Restful的服务设计中,查询某些信息的时候,一般的URL地址设计为: get /basic/service? keyword=历史 , 之类的URL地址. 但是,在实际的开发和使用中,确是有乱码情况的发生,在后台的读取keyword信息为乱码,无法正确读取. 2. 乱码是如

原来javascript 自带 encodeURI 和 decodeURI文 方法了

今天百度一下才知道js 自带 encodeURI 和 decodeURI 方法了,之前还找了其他代码来处理(笑哭了.jpg <script type="text/javascript"> document.write(encodeURI("什么鬼")+ "<br />"); document.write(decodeURI("%E4%BB%80%E4%B9%88%E9%AC%BC")); </sc

javascript中encodeURI和decodeURI方法使用介绍

encodeURI和decodeURI是成对来使用的,因为浏览器的地址栏有中文字符的话,可以会出现不可预期的错误, 所以可以encodeURI把非英文字符转化为英文编码,decodeURI可以用来把字符还原回来 一.基本概念 encodeURI和decodeURI是成对来使用的,因为浏览器的地址栏有中文字符的话,可以会出现不可预期的错误,所以可以encodeURI把非英文字符转化为英文编码, decodeURI可以用来把字符还原回来.encodeURI方法不会对下列字符进行编码:":"

javascript之url转义escape()、encodeURI()和decodeURI()

我们可以知道:escape()除了 ASCII 字母.数字和特定的符号外,对传进来的字符串全部进行转义编码,因此如果想对URL编码,最好不要使用此方法.而encodeURI() 用于编码整个URI,因为URI中的合法字符都不会被编码转换.encodeURIComponent方法在编码单个URIComponent(指请求参数)应当是最常用的,它可以讲参数中的中文.特殊字符进行转义,而不会影响整个URL. 请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别

vue+element ui项目总结点(一)select、Cascader级联选择器、encodeURI、decodeURI转码解码、一级mockjs用法、路由懒加载三种方式

不多说上代码: <template> <div class="hello"> <h1>{{ msg }}</h1> <p>Element UI简单Cascader级联选择器使用</p> <el-cascader :options='options' v-model="selectedOptions" @change="handleChange"> </el-

一张图看懂encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的区别

一.这四个方法的用处 1.用来编码和解码URI的 统一资源标识符,或叫做 URI,是用来标识互联网上的资源(例如,网页或文件)和怎样访问这些资源的传输协议(例如,HTTP 或 FTP)的字符串.除了encodeURI.encodeURIComponent.decodeURI.decodeURIComponent四个用来编码和解码 URI 的函数之外 ECMAScript 语言自身不提供任何使用 URL 的支持. 2.URI组成形式 一个 URI 是由组件分隔符分割的组件序列组成.其一般形式是:

JavaScript全局函数 unescape() escape() encodeURI() decodeURI() decodeURIComponent() encodeURIComponent()

unescape() 函数可对通过 escape() 编码的字符串进行解码. 语法unescape(string)  string必需.要解码或反转义的字符串.返回值 string 被解码后的一个副本. 说明:该函数的工作原理是这样的:通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字),用 Unicode 字符 \u00xx 和 \uxxxx 替换这样的字符序列进行解码. 提示和注释注释:ECMAScript v3 已从标准中删除了 unescape() 函数,并反对

ECMA5.1中关于encodeURI,decodeURI 和encodeComponentURI,decodeComponentURI的区别

The encodeURI and decodeURI functions are intended to work with complete URIs; theyassume that any reserved characters in the URI are intended to have special meaning and so are notencoded. The encodeURIComponent and decodeURIComponent functions are

escape()、encodeURI()、encodeURIComponent()的区别和用法

escape()  解码unescape() 对字符串进行进行编码. 定义和用法 escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串. 语法 escape(String) 参数                      描述 String          必需.要被转义或编码的字符串. 返回值 已编码的 string 的副本.其中某些字符被替换成了十六进制的转义序列. 说明 该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编