ASP编码和解码函数详解

2023-12-05 0 222

用ASP开发的时候遇到一个解码问题。虽然在ASP中使用Request获取编码过URL字符串会自动解码,但是Request.BinaryRead(Request.TotalBytes)取得Post数据时却不会解码,所以只能手动进行解码。
ASP解码函数:

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

只是个人爱好,自己研究了一下编码的实现思路,最后自己写了一个编码函数,提供大家参考。注:ASP有内置的编码函数,即是Server.URLEncode。

ASP编码函数:

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 内置的函数。虽然上面这个编码函数测试过N 遍了,没有发现问题,但是以防万一存在Bug。

以上就是关于ASP编码和解码函数,希望对大家的学习有所帮助。

您可能感兴趣的文章:

  • asp.net下百度的编码和解码
  • asp.C#实现图片文件与base64string编码解码
  • asp页面和Asp.net页面传中文参数UrlEncode编码以及接收解码
  • ASP codepage 页面编码使用说明
  • asp.net 页面编码常见问题小结
  • asp.net URL编码与解码
  • ASP中Utf-8与Gb2312编码转换乱码问题的解决方法 页面编码声明
  • java基于AspectJ(面向切面编程)编码示例分享
  • Asp编码优化技巧

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 ASP编程 ASP编码和解码函数详解 https://www.u-9.cn/biancheng/asp/95702.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务