关于字符串编码的三个方法

随行笔记怕忘了。和字符串有关的三个编码方法:decodeURIComponent和encodeURIComponent以及encodeURI;

decodeURIComponent解码的 :

var str="http://www.abc.com/index.html?imgurl=http%3A%2F%2Fimg.abc.com%2Fa.jpg&mobile=1380000000"

decodeURIComponent(str); 返回的是:

http://www.abc.com/index.html?imgurl=http://img.abc.com/a.jpg&mobile=1380000000

把空格以及//一些符号都还原。16进制的都还原,全部解码。

encodeURIComponent进行编码:

  var loadurl=window.location.href;
           console.log(encodeURIComponent(loadurl));

我本地打印出来是这样的: file%3A%2F%2F%2FC%3A%2FUsers%2FAdministrator%2FDesktop%2Fdemo.html

encodeURI和encodeURIComponent的区别W3C也解释的很清楚,前者不会对一些标点符号进行转义成16进制.后者就会对标签符号进行转义16进制。

一般encodeURIComponent和decodeURIComponent相互配合使用。

一个编码en,一个解码de

posted @ 2015-03-03 15:37  独孤残情  阅读(318)  评论(0编辑  收藏  举报