js脚本怎么转码?

JavaScript03

js脚本怎么转码?,第1张

可以使用js自带的转码方法escape(),encodeURI()和encodeURIComponent()。

下面是详细介绍:

Js中escape(),encodeURI()和encodeURIComponent()使用和比较:

escape方法以Unicode格式返回一个包含传入参数内容的string类型的值。 Escape方法会将传入参数中所有的空格、标点符号、重音字符以及其它任何非ASCII字符替换为%xx的编码形式,其中xx与其所表示的字符的16进制数表示形式相同。如空格字符的16进制表示形式为0x20,则此时xx应为20,即escape(‘ ’) 返回“%20”。

escape和unescape方法能够帮助你编码和解码字符串。escape方法对于ISO Latin字符集中的字符组成的参数,返回其16进制编码。相对应的,unescape方法则能将16进制编码形式的参数转化成为其ASCII码形式。

encodeURI方法返回一个经过编码的URI。如果将encodeURI方法的编码结果传递给decodeURI方法作参数,则能得到原始的未编码的字符串。需要注意到是encodeURI方法不编码如下字符":", "/", "", and "?"。如果想要编码这些字符,请使用encodeURIComponent方法。

encodeURIComponent方法返回一个编码过的URI。如果将encodeURIComponent方法的编码结果传递给encodeURIComponent方法作参数,则能得到原始的未编码的字符串。因为encodeURIComponent方法会编码所有的字符,所以如果待编码的字符串是用来表示一个路径(如/dir1/dir2/index.htm)时,就一定要小心使用了。‘/’符号会被其编码之后,将不再是一个有效的路径标识符,所以不能被web服务器正确地识别。当字符串包含一个单独的URI component(指?后面的请求参数)的时候,请使用此方法。

escape()不编码的字符:@*/+

encodeURI() 不编码的字符:~!@#$&*()=:/,?+"

encodeURIComponent()不编码的字符: ~!*()''

这个要看你在什么地方应用了,如果是网页中,js是不能读取到本地文件的,只能访问同域的文件

比如www.baidu.com中的js代码就只能访问baidu域名下的文件.

如果是用ie在本地打开html文件中的js,把安全性调低一点是可以访问本地文件的。

可以用fso读文件,也可以用adodb.stream读文件.

还可以用wscript或cscript解释执行js文件,这个就是把js当作脚本来使用,和vbs是一个道理.

<script type="text/javascript">

$(document).ready(function(){-------页面加载完毕

$("#btnAddType").click(function(){--------给页面元素 id=btnAddType的 添加一个click事件的侦听

CreateParent_IframeDialog("添加类型", "Manage/Question/QuestionTypeDetail.aspx", 640, 260)---打开一个dialog的页面长宽已经给出 连接按钮是 添加类型 页面是Manage/Question/QuestionTypeDetail.aspx

})

RepeaterListEvent("cb_Head","cb_Sub","QList")------在repeater控件上 添加cb_Head,cb_Sub,QList事件。这些事件是后台自己定义的;

})

</script>