如何 Encode 和 Decode URL 地址?

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

VBscript

 1<%     
 2Function 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+12)))
 9                i = i+2
10            End If 
11        Else
12            sR = sR & sT
13        End If
14    Next
15    URLDecode = sR
16End Function
17
18Function URLEncode(str)
19    URLEncode = Server.URLEncode(str)
20End Function
21
22str1 = "http://www.foo.com/blah.asp?foo=1 & 2 &g=0"
23str2 = URLEncode(str1)
24str3 = URLDecode(str2)
25Response.Write(str1 & "<br>" & str2 & "<br>" & str3) 
26%>

JScript
 1<script language=JScript runat=server>      
 2function URLDecode(str)     
 3{
 4    return unescape(str);
 5}
 6
 7function URLEncode(str)
 8{
 9    str = escape(str);
10}
posted @ 2005-09-27 11:43  hardyfan  阅读(720)  评论(0编辑  收藏  举报