2016-10-13 00:16:48 点击量:13 标签: 收藏本文
encodeURI 和 encodeURIComponent 是按 UTF-8 对 URL 编码的,下面的代码是按 ANSI 对 URL进行编码和解码的。使用了两个 vbscript 自定义函数,请参见 JavaScript 函数如何调用 VBScript 函数。
以下整理自 Moocky.Mark's Blog。
- <script type="text/vbscript">
- <!--
- function str2asc(strstr)
- str2asc = hex(asc(strstr))
- end function
- function asc2str(ascasc)
- asc2str = chr(ascasc)
- end function
- '-->
- </script>
- <script type="text/javascript">
- <!--
- function urlEncode(str)
- {
- var ret = "";
- var strSpecial = "!\"#$%&’()*+,/:;<=>?[]^`{|}~%";
- var tt = "";
- for(var i = 0; i < str.length; i++)
- {
- var chr = str.charAt(i);
- var c = str2asc(chr);
- tt += chr + ":" + c + "n";
- if (parseInt("0x" + c) > 0x7f)
- {
- ret += "%" + c.slice(0,2) + "%" + c.slice(-2);
- }
- else
- {
- if (chr == " ")
- ret += "+";
- else if (strSpecial.indexOf(chr) != -1)
- ret += "%" + c.toString(16);
- else
- ret += chr;
- }
- }
- return ret;
- }
- function urlDecode(str)
- {
- var ret = "";
- for (var i = 0; i < str.length; i++)
- {
- var chr = str.charAt(i);
- if (chr == "+")
- {
- ret += " ";
- }
- else if (chr == "%")
- {
- var asc = str.substring(i+1, i+3);
- if (parseInt("0x"+asc) > 0x7f)
- {
- ret += asc2str(parseInt("0x" + asc+str.substring(i+4, i+6)));
- i += 5;
- }
- else
- {
- ret += asc2str(parseInt("0x"+asc));
- i += 2;
- }
- }
- else
- {
- ret += chr;
- }
- }
- return ret;
- }
- -->
- </script>
我们是一家提供综合软件外包与弱电工程服务的技术公司。
业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。
公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室