+ -
当前位置:首页 → 问答吧 → UT-8编码下server.URLEncode的逆函数有吗?

UT-8编码下server.URLEncode的逆函数有吗?

时间:2011-11-28

来源:互联网

这个是在GB2312编码下的运行结果

这个是在UTF-8编码下的运行结果



VB code

abc="中国足球"
Response.Write(abc)
abc_u=server.URLEncode(abc)
Response.Write("<hr>")
Response.Write(abc_u)
Response.Write("<hr>")
Response.Write(URLDecode(abc_u))




Public Function URLDecode(t0)
Dim s,i,l,c,t,n : s="" : l=Len(t0)
For i=1 To l
c=Mid(t0,i,1)
If c<>"%" Then
s = s & c
Else
c=Mid(t0,i+1,2) : i=i+2 : t=CInt("&H" & c)
If t<&H80 Then
s=s & Chr(t)
Else
c=Mid(t0,i+1,3)
If Left(c,1)<>"%" Then
URLDecoding=s
Exit Function
Else
c=Right(c,2) : n=CInt("&H" & c)
t=t*256+n-65536
s = s & Chr(t) : i=i+3
End If
End If
End If
Next
URLDecode=s
End Function



这是为什么呢?

作者: sunfy21   发布时间: 2011-11-28

直接用Escape和 UnEscape 就可以了
VBScript code

abc="中国足球"
Response.Write(abc)
abc_u=Escape(abc)
Response.Write("<hr>")
Response.Write(abc_u)
Response.Write("<hr>")
Response.Write(UnEscape(abc_u))


作者: hookee   发布时间: 2011-11-28