查看: 12240|回复: 1
打印 上一主题 下一主题

Server.URLEncode解码函数:通过URL传递汉字的编码后的解码函数

[复制链接]
跳转到指定楼层
1#
发表于 2008-6-20 14:09:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
台州网址导航
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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
2#
 楼主| 发表于 2008-6-20 14:09:57 | 只看该作者
台州网址导航
我是在开发中发现使用伪静态开发站内搜索引擎,get方式传递keywords的时候,汉字会经过url编码处理,比如在百度中搜索“百度”的时候得到的连接是:http://www.baidu.com/s?wd=%B0%D9%B6%C8&cl=3 其中%B0%D9%B6%C8就是这两个汉字的编码,而这样的文字是无法在数据库搜索出结果的,只有解码之后才可以,在这个时候就需要一个解码的函数,也就是上文中的函数。封装成函数后使用起来就很方便了:
Dim key
key=request.form("keywords")
key=urldecode(key)
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表