ASP(Server.UrlEncode)、PHP(urlencode())函数编码结果,或是经过asp、php等动态语言直接写入COOKIES的中文字符,用JS读取的时候,都会碰到一个编码的问题,那就是最终字符串被urlencode编码了,而又时有需要从JS在客户端去读取这些数据。而本文,就大概说说如何在js中通过系统自带的函数去解决这个问题。

而相信碰到过此问题的朋友应该都有所了解,目前网络上流行一些js下的自定义函数去解决这个问题,如说vbscript(URLDecode())、javascript(UrlDecode())等。而这两个函数,都无法很好的与asp(Server.UrlEncode)、php(urlencode())这两个函数相互通讯。

javascript(UrlDecodedecodeURIComponent())这个函数名称实在太常了,个人真的不太了解,毕竟js的系统函数很多,很容易遗漏。烦恼在偶然间发现了这个函数!
编码函数:encodeURIComponent()
解码函数:decodeURIComponent()
decodeURIComponent()语法

decodeURIComponent(URIstring)
参 数:(URIstring)必需。一个字符串,含有编码 URI 组件或其他要解码的文本。
返回值:URIstring 的副本,其中的十六进制转义序列将被它们表示的字符替换。

示例:

<script type="text/javascript">
// <![CDATA[
var test1="烦恼";

var test2="%E7%83%A6%E6%81%BC";

document.write("编码(原="+test1+"):"+encodeURIComponent(test1));

document.write("解码(原="+test2+"):"+decodeURIComponent(test2));
// ]]>
</script>

结果:

编码(原=烦恼):%E7%83%A6%E6%81%BC
解码(原=%E7%83%A6%E6%81%BC):烦恼

注意:在UTF-8编码环境下测试通过。

原创文章,请阅读页脚的许可方式,转载请注明: 转载自王恒的博客 [ https://wangheng.org ]

本文链接地址: https://wangheng.org/?p=94751

5条评论 在“Javascript编码解码方法”

  1. 笑话据点说道:

    多更新,要不然还以为您老人家去保卫钓鱼岛了呢

  2. 王恒说道:

    哈哈,不要吧~

  3. 分条机刀片说道:

    不懂啊,怎么学的啊

给我留言

*

*