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

网络编程 2025-03-25 10:34www.168986.cn编程入门

这篇文章主要介绍了ASP中的URL编码和解码函数。在进行ajax的post操作时,可能会遇到服务器端接收到的数据出现乱码的问题。为了解决这一问题,需要在发送前进行编码,并在服务器端进行解码。虽然ASP中的request会自动解码经过url编码的字符串,但在获取post数据时并不会自动解码,因此需要手动进行解码。

在ASP中,有一个名为server.urlencode的内置函数用于进行URL编码,但其功能在某些情况下可能无法满足需求。例如,它会对HTML或XML标签进行编码,这在进行xml格式的post操作时可能会造成问题。我们需要寻找其他的编码和解码函数来满足特定需求。

狼蚁网站SEO优化提供了一个URLDecode函数,这是一个解码函数,可以解码经过URL编码的字符串。还有一个URLEncoding函数,这是一个自定义的编码函数,与server.urlencode不同之处在于它不会对HTML或XML标签进行编码。这对于使用post方式发送xml数据来说是非常有用的。

URLDecode函数的代码如下:

```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

ElseIf c = "+" Then

deStr = deStr & " "

Else

deStr = deStr & c

End If

Next

URLDecode = deStr

End Function

```

URLEncoding函数的代码如下:

```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

```

通过使用这些函数,我们可以在进行post操作时先进行编码,然后在服务器端进行解码,从而解决乱码问题。这些函数对于处理包含特殊字符或格式的数据非常有用,特别是在处理大量数据时。

上一篇:深入剖析javascript中的exec与match方法 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by