源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-02-25 14:26 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:ASP中实现的URLEncode、URLDecode自定义函数
在做ajax中的post时,发现在服务器端取得数据时总是乱码,网上看了些解决方法也搞不定,我post过去时是xml形式,由于乱码服务器端xml也解析不了或出错。于是在post前先把它编码,到服务器端再解码,这样问题解决了,但是要是数据很大时估计会很影响速度。 虽然ASP中的request会自动解码经过url编码的字符串,但是Request.BinaryRead(Request.TotalBytes)取得post数据时却不会解码,所以要进行解码。 下面是我找到的一个ASP中server.urlencode函数的解码函数
[u]复制代码[/u] 代码如下:
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的。
[u]复制代码[/u] 代码如下:
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
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部