ASP中只有UrlEncode,没有Urldecode问题的解决方法?

所属分类: 网络编程 / ASP编程 阅读数: 374
收藏 0 赞 0 分享

在ASP中传递参数时有一个很有用的系统函数Server.UrlEncode,可以将一些非字母数字的特殊符号转换成标准URL编码(其实就是16进制ASC码),这样就解决了参数传递问题,然后我以为也提供了Server.UrlDecode,但使用后却发现程序报错,原来系统并没有提供这个我想象中的解码函数。怎幺办,自己动手吧。

UrlEncode的原理其实很简单,就是将特殊字符转换成16进制ASC码值,那么译码函数就只要将16进制ASC转回对应的字符就OK了。

Function URLDecode(enStr)          'URL解碼函數 
 dim deStr 
 dim c,i,v 
 deStr="" 
 for i=1 to len(enStr) 
   c=Mid(enStr,i,1) 
   if c="%" then 
     v=eval("&h"+Mid(enStr,i+1,2)) 
     if v<128 then 
       deStr=deStr&chr(v) 
       i=i+2 
     else 
       if isvalidhex(mid(enstr,i,3)) then 
         if isvalidhex(mid(enstr,i+3,3)) then 
           v=eval("&h"+Mid(enStr,i+1,2)+Mid(enStr,i+4,2)) 
           deStr=deStr&chr(v) 
           i=i+5 
         else 
           v=eval("&h"+Mid(enStr,i+1,2)+cstr(hex(asc(Mid(enStr,i+3,1))))) 
           deStr=deStr&chr(v) 
           i=i+3 
         end if 
       else 
         destr=destr&c 
       end if 
     end if 
   else 
     if c="+" then 
       deStr=deStr&" " 
     else 
       deStr=deStr&c 
     end if 
   end if 
 next 
 URLDecode=deStr 
end function 
 
function isvalidhex(str) 
 isvalidhex=true 
 str=ucase(str) 
 if len(str)<>3 then isvalidhex=false:exit function 
 if left(str,1)<>"%" then isvalidhex=false:exit function 
 c=mid(str,2,1) 
 if not (((c>="0") and (c<="9")) or ((c>="A") and (c<="Z"))) then isvalidhex=false:exit function 
 c=mid(str,3,1) 
 if not (((c>="0") and (c<="9")) or ((c>="A") and (c<="Z"))) then isvalidhex=false:exit function 
end function

经测试gb312格式的asp使用没有问题。

更多精彩内容其他人还在看

asp(vbs)fso OpenTextFile方法参数说明

OpenTextFile是asp语言中的一个方法,打开指定的文件并返回一个 TextStream 对象,可以通过这个对象对文件进行读、写或追加
收藏 0 赞 0 分享

IIS7.5调用asp页面出现800a0e7a的解决办法

本文给大家分享的是在windows2008R2 64位系统中出现了ADODB.Connection 错误 '800a0e7a'的解决办法,方法很简单,可是处理过程却很曲折,这里推荐给大家,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

ImageMagickObject获取图片的信息无返回值的解决办法

这篇文章主要介绍了ImageMagickObject获取图片的信息无返回值的解决办法,非常简单,加上format参数即可,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP实现强制图片下载函数

最近做的一个asp项目需要强制下载图片,我在网上找了很多关于下载远程图片的ASP代码,但测试结果都不行。没办法只好自己操刀了,有什么纰漏的地方还请大家指出。
收藏 0 赞 0 分享

asp实现禁止搜索引擎蜘蛛访问的代码

这篇文章主要介绍了asp实现禁止搜索引擎蜘蛛访问的代码,十分的简单实用,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

asp、html、js 禁止缓存的代码

本文给大家分享的是在asp、html、js中强制不缓存的方法,十分的简单实用,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

asp实现带刷新功能的验证码代码

本文给大家分享的是一段使用asp实现的验证码功能,而且是带刷新的,代码非常简洁,非常实用,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

asp获得浏览器agent信息代码

最近做的一个项目中需要使用asp来获取浏览器的agent信息,好久都不玩ASP了,先度娘一下吧,把结果总结一下分享给大家。
收藏 0 赞 0 分享

ASP中只有UrlEncode,没有Urldecode问题的解决方法?

这篇文章主要介绍了ASP中只有UrlEncode,没有Urldecode问题的解决方法? ,需要的朋友可以参考下
收藏 0 赞 0 分享

对象不支持此属性或方法: Session.CodePage = 936 解决方法

这篇文章主要介绍了对象不支持此属性或方法: Session.CodePage = 936 解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多