ASP中实现的URLEncode、URLDecode自定义函数
这篇文章主要介绍了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操作时先进行编码,然后在服务器端进行解码,从而解决乱码问题。这些函数对于处理包含特殊字符或格式的数据非常有用,特别是在处理大量数据时。
编程语言
- ASP中实现的URLEncode、URLDecode自定义函数
- 深入剖析javascript中的exec与match方法
- 用nodejs的实现原理和搭建服务器(动态)
- 使用node.js对音视频文件加密的实例代码
- jQuery中-checkbox选择器用法实例
- ajax应用
- javascript实现类似java中getClass()得到对象类名的方
- 在原生不支持的旧环境中添加兼容的Object.keys实现
- JS实现点击链接切换显示隐藏内容的方法
- php获取指定范围内最接近数的方法
- PHP实现批量清空删除指定文件夹所有内容的方法
- MS SQL Server数据库清理错误日志的方法
- php中getservbyport与getservbyname函数用法实例
- 使用JavaScript的AngularJS库编写hello world的方法
- PHP正则匹配操作简单示例【preg_match_all应用】
- layui 根据后台数据动态创建下拉框并同时默认选