五、escape函数和unescape函数
escape()函数主要作用就是对字符串进行编码,以便它们能在所有计算机上可读。
unescape()函数和escape()函数是刚好反过来的,escape()函数是编码,unescape()函数是解码。
1、escape函数
escape()函数主要作用就是对字符串进行编码,以便它们能在所有计算机上可读。
语法:
代码语言:javascript复制escape(charString)
说明:
charString是必选参数,表示要进行编码的字符串或文字。escape()函数返回一个包含charString内容的字符串值(Unicode格式)。除了个别如“*@”之类的符号外,其余所有空格、标点符号以及其他非ASCII字符均可用“%xx”这种形式的编码代替,其中xx等于表示该字符的十六进制数。
举例:
代码语言:javascript复制<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
document.write(escape("hello lvye!"))
</script>
</head>
<body>
</body>
</html>
在浏览器预览效果如下:
分析:
空格符对应的编码是“ ”,感叹号对应的编码是“!”,因此执行escape("hello lvye!")后结果为“hello lvye!”。
2、unescape()函数
escape()函数和unescape()函数是刚好反过来的,前者是编码,后者是解码。
语法:
代码语言:javascript复制unescape(charString)
说明:
charString是必选参数,表示要进行解码的字符串。unescape()函数返回指定值的ASCII字符串。与escape()函数相反,unescape()函数返回一个包含charString内容的字符串值,所有以“%xx”十六进制形式编码的字符都用ASCII字符集中等价的字符代替。
举例:
代码语言:javascript复制
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
document.write(unescape("hello lvye!"))
</script>
</head>
<body>
</body>
</html>
在浏览器预览效果如下:
分析:
空格符对应的编码是“ ”,感叹号对应的编码是“!”,因此执行unescape("hello lvye!")后结果为“hello lvye!”。
六、训练题
在线escape加解密工具制作
代码实现如下:
代码语言:javascript复制<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
//定义基本样式
<style type="text/css">
#txt-input,#txt-output
{
height:60px;
}
</style>
<script type="text/javascript">
//定义加密函数
function encrypt()
{
//获取输入框的值
var str = document.getElementById("txt-input").value;
//将输入框的值加密,并赋给输出框
document.getElementById("txt-ouput").value = escape(str);
}
//定义解密函数
function decrypt()
{
//获取输入框的值
var str = document.getElementById("txt-input").value;
//将输入框的值加密,并赋给输出框
document.getElementById("txt-ouput").value = unescape(str);
}
</script>
</head>
<body>
<form>
<textarea id="txt-input" cols="20"></textarea><br />
<input id="btn-encrypt" type="button" value="加密" onclick="encrypt()"/>
<input id="btn-decrypt" type="button" value="解密" onclick="decrypt()"/>
<input id="Reset1" type="reset" value="清空" /><br />
<textarea id="txt-ouput" cols="20"></textarea>
</form>
</body>
</html>
在浏览器预览效果如下(IE浏览器):
分析:
(1)重置按钮的作用域是同一个form标签内部的文本框,这一点请参考“HTML入门教程”中的“按钮button”这一节;
(2)这里再次用到了document.getElementById()这一JavaScript的id选择器,这次大家打死都要记住这一个语句了,在之前都讲解了3次以上了;
(3)这个在线工具逻辑已经实现,界面还比较粗糙,剩下的就交给大家润色了。