如何 Encode 和 Decode URL 地址?

ASP 的 Server 对象提供了一个 Server.Encode() 方法,但是却没有相应的 Server.Decode() 方法或者 Unencode() 方法。也许 MS认为这没必要。其实这样的方法非常有用,这里提供一种实现~包括 VBScript 和 JScript 代码。

VBscript

 1 < %     
 2 Function  URLDecode(str)         
 3     str  =   Replace (str,  " + " "   " )         
 4      For  i  =   1   To   Len (str)
 5         sT  =   Mid (str, i,  1 )
 6          If  sT  =   " % "   Then
 7              If  i + 2   <   Len (str)  Then
 8                 sR  =  sR  &   Chr ( CLng ( " &H "   &   Mid (str, i + 1 2 )))
 9                 i  =  i + 2
10              End   If  
11          Else
12             sR  =  sR  &  sT
13          End   If
14      Next
15     URLDecode  =  sR
16 End Function
17
18 Function  URLEncode(str)
19     URLEncode  =  Server.URLEncode(str)
20 End Function
21
22 str1  =   " http://www.foo.com/blah.asp?foo=1 & 2 &g=0 "
23 str2  =  URLEncode(str1)
24 str3  =  URLDecode(str2)
25 Response.Write(str1  &   " <br> "   &  str2  &   " <br> "   &  str3) 
26 % >
 
 
JScript
 1 < script language = JScript runat = server >       
 2 function  URLDecode(str)     
 3 {
 4     return unescape(str);
 5 }
 6
 7 function  URLEncode(str)
 8 {
 9     str  =  escape(str);
10 }

转载于:https://www.cnblogs.com/hardyfan/articles/244977.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值