学习问题参考/解决/保留

自我控制应当成为生活的基调, 美好生活是理性来指导的并且紧紧抓住崇高的理想, 人的一生,就是进行尝试,尝试得越多,生活就越美好!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Server.URLEncode解码函数

Posted on 2006-09-11 10:51  下载软件  阅读(2682)  评论(0)    收藏  举报

URL编码是指为了将信息通过URL进行传输,所以必须将某些含有特殊意义的字符进行替换的一种编码方式,在asp中我们都知道有一个Server.URLEncode的函数可以完成这个功能。即:

  如果有空格就用%20代替,如果有其它字符就用%ASCII代替,如果有汉字等四个字节的字符,就用两个%ASCII来代替。不过有时候我们也需要将经过这种编码的字符串进行解码,但asp并没有提供相关的函数,这给我们处理问题带来了一定的麻烦。其实我们只要知道了编码规则后,就可以用asp代码来实现我们自己的URlDecode函数了。

function urldecode(encodestr)
 Dim newstr,havechar,lastchar,i,char_c,next_1_c,next_1_Num
 newstr=""
 havechar=false
 lastchar=""
 for i=1 to len(encodestr)
  char_c=mid(encodestr,i,1)
  if char_c="+" then
   newstr=newstr & " "
  elseif char_c="%" then
   next_1_c=mid(encodestr,i+1,2)
   next_1_num=cint("&H" & next_1_c)
   
   if havechar then
    havechar=false
    newstr=newstr & chr(cint("&H" & lastchar & next_1_c))
   else
    if abs(next_1_num)<=127 then
     newstr=newstr & chr(next_1_num)
    else
     havechar=true
     lastchar=next_1_c
    end if
   end if
   i=i+2
  else
   newstr=newstr & char_c
  end if
 next
 urldecode=newstr
end function