js 提供了两组函数来进行字符串的编码与解码:escape()与unescape()。
decodeURI()与encodeURI();


JavaScript escape() 函数



定义和使用方法

escape() 函数可对字符串进行编码,这样就能够在全部的计算机上读取该字符串。

语法

escape(string)


參数

描写叙述

string

必需。要被转义或编码的字符串。

返回值

已编码的 string 的副本。当中某些字符被替换成了十六进制的转义序列。

说明

该方法不会对 ASCII 字母和数字进行编码。也不会对以下这些 ASCII 标点符号进行编码: * @ - _ + . / 。

其它全部的字符都会被转义序列替换。



提示和凝视

提示:能够使用 ​​unescape()​​ 对 escape() 编码的字符串进行解码。

凝视:ECMAScript v3 反对使用该方法,应用使用 decodeURI() 和 decodeURIComponent() 替代它。



实例

在本例中,我们将使用 escape() 来编码字符串:

<script type="text/javascript">

document.write(escape("Visit W3School!") + "<br />")
document.write(escape("?!=()#%&"))

</script>


输出:

Visit%20W3School%21
%3F%21%3D%28%29%23%25%26


JavaScript decodeURI() 函数


定义和使用方法

decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。

语法

decodeURI(URIstring)


參数

描写叙述

URIstring

必需。一个字符串,含有要解码的 URI 或其它要解码的文本。

返回值

URIstring 的副本。当中的十六进制转义序列将被它们表示的字符替换。



实例

在本例中,我们将使用 decodeURI() 对一个编码后的 URI 进行解码:

<script type="text/javascript">

var test1="http://www.w3school.com.cn/My first/"

document.write(encodeURI(test1)+ "<br />")
document.write(decodeURI(test1))

</script>


输出:

http://www.w3school.com.cn/My%20first/
http://www.w3school.com.cn/My first/