ASP中实现的URLEncode、URLDecode自定义函数

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

在做ajax中的post时,发现在服务器端取得数据时总是乱码,网上看了些解决方法也搞不定,我post过去时是xml形式,由于乱码服务器端xml也解析不了或出错。于是在post前先把它编码,到服务器端再解码,这样问题解决了,但是要是数据很大时估计会很影响速度。

虽然ASP中的request会自动解码经过url编码的字符串,但是Request.BinaryRead(Request.TotalBytes)取得post数据时却不会解码,所以要进行解码。

下面是我找到的一个ASP中server.urlencode函数的解码函数

复制代码 代码如下:

Function URLDecode(enStr)
  dim deStr,strSpecial
  dim c,i,v
    deStr=""
    strSpecial="!""#$%&'()*+,.-_/:;< =>?@[/]^`{|}~%"
    for i=1 to len(enStr)
      c=Mid(enStr,i,1)
      if c="%" then
        v=eval("&h"+Mid(enStr,i+1,2))
        if inStr(strSpecial,chr(v))>0 then
          deStr=deStr&chr(v)
          i=i+2
        else
          v=eval("&h"+ Mid(enStr,i+1,2) + Mid(enStr,i+4,2))
          deStr=deStr & chr(v)
          i=i+5
        end if
      else
        if c="+" then
          deStr=deStr&" "
        else
          deStr=deStr&c
        end if
      end if
    next
    URLDecode=deStr
End function

再附一个编码函数,这个与server.urlencode不一样之处是:server.urlencode会将html或xml等标签,如
也会进行编码,而下面这个函数不会。我是用下面的进行编码,再解码,因为我用post时用xml的。

复制代码 代码如下:

private Function URLEncoding(vstrIn)
    strReturn = ""
    For i = 1 To Len(vstrIn)
    ThisChr = Mid(vStrIn,i,1)
    If Abs(Asc(ThisChr)) < &HFF Then
    strReturn = strReturn & ThisChr
    Else
    innerCode = Asc(ThisChr)
    If innerCode < 0 Then
    innerCode = innerCode + &H10000
    End If
    Hight8 = (innerCode And &HFF00)/ &HFF
    Low8 = innerCode And &HFF
    strReturn = strReturn & "%" & Hex(Hight8) & "%" & Hex(Low8)
    End If
    Next
    URLEncoding = strReturn
  End Function

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

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 分享
查看更多