ASP中实现的类似URLEncode的编码函数及对应解码函数

encode|编码|函数

<%
'Coding.inc.asp
'All Rights Reserved, Room3rd@hotmail.com

Function Encode(Str)
 Dim Count, Pos, Ch, Code
 Dim SweetCh
 
 'SweetCh中表示不需要进行编码的字符
 SweetCh = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz_{}[]()"
 Encode = ""
 
 Count = Len(Str)
 Pos = 1
 Do While Pos<=Count
  Ch = Mid(Str, Pos, 1)
  
  Code = Asc(Ch)
  If Code>=0 And Code<256 Then  '汉字不予处理
   If Ch<>"%" Then
    If InStr(SweetCh, Ch)=0 Then
     Ch = "%" & Right("0" & Hex(Code), 2)
    End If
   Else
    Ch = "%25"
   End If
  End If
  
  Encode = Encode & Ch
  Pos = Pos + 1
 Loop
End Function

Function Decode(Str)
 Dim Count, Pos, Ch, Code
 
 Decode = ""
 
 Count = Len(Str)
 Pos = 1
 Do While Pos<=Count
  Ch = Mid(Str, Pos, 1)
  If Ch="%" Then
   If Pos+2<=Count Then
    Ch = Chr((InStr("0123456789ABCDEF", UCase(Mid(Str, Pos+1, 1)))-1) * 16 + InStr("0123456789ABCDEF",UCase(Mid(Str, Pos+2, 1))) - 1)
   Else
    '编码串不正确
    Ch = ""
   End If
   Pos = Pos + 2
  End If
  Decode = Decode & Ch
  Pos = Pos + 1
 Loop
End Function
%>

时间: 2024-12-04 00:25:27

ASP中实现的类似URLEncode的编码函数及对应解码函数的相关文章

asp中常用的文件处理函数

asp 中处理文件上传以及删除时常用的自定义函数: <% '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '所有自定义的VBS函数 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' function DeleteFile(Filename) '删除文件 if Filename<>"&qu

asp 中常用的文件处理函数

函数 asp 中处理文件上传以及删除时常用的自定义函数 <%'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''所有自定义的VBS函数''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''function DeleteFile(Filename) '删除文件 if Filename<>""

asp 中常用的文件处理函数_FSO专题

asp 中处理文件上传以及删除时常用的自定义函数 <% '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '所有自定义的VBS函数 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' function DeleteFile(Filename) '删除文件 if Filename<>"&quo

ASP中实现的URLEncode、URLDecode自定义函数_应用技巧

在做ajax中的post时,发现在服务器端取得数据时总是乱码,网上看了些解决方法也搞不定,我post过去时是xml形式,由于乱码服务器端xml也解析不了或出错.于是在post前先把它编码,到服务器端再解码,这样问题解决了,但是要是数据很大时估计会很影响速度. 虽然ASP中的request会自动解码经过url编码的字符串,但是Request.BinaryRead(Request.TotalBytes)取得post数据时却不会解码,所以要进行解码. 下面是我找到的一个ASP中server.urlen

ASP中只有UrlEncode,没有Urldecode问题的解决方法?

在ASP中传递参数时有一个很有用的系统函数Server.UrlEncode,可以将一些非字母数字的特殊符号转换成标准URL编码(其实就是16进制ASC码),这样就解决了参数传递问题,然后我以为也提供了Server.UrlDecode,但使用后却发现程序报错,原来系统并没有提供这个我想象中的解码函数.怎幺办,自己动手吧. UrlEncode的原理其实很简单,就是将特殊字符转换成16进制ASC码值,那么译码函数就只要将16进制ASC转回对应的字符就OK了. Function URLDecode(en

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

在做ajax中的post时,发现在服务器端取得数据时总是乱码,网上看了些解决方法也搞不定,我post过去时是xml形式,由于乱码服务器端xml也解析不了或出错.于是在post前先把它编码,到服务器端再解码,这样问题解决了,但是要是数据很大时估计会很影响速度. 虽然ASP中的request会自动解码经过url编码的字符串,但是Request.BinaryRead(Request.TotalBytes)取得post数据时却不会解码,所以要进行解码. 下面是我找到的一个ASP中server.urlen

Asp.net中进行安全的 ADO.NET 编码(一)

ado|asp.net|安全|编码 Asp.net中进行安全的 ADO.NET 编码(一)保证应用程序的安全包括编写安全的代码.代码必须只公开客户端代码所需要的信息和功能.与 ADO.NET 相关的常见攻击是 SQL Insertion 攻击,它从应用程序返回的异常中来确定私有数据库信息. 危险性:在 SQL Insertion 攻击中,攻击者在您的命令中插入在数据源位置执行处理的其他 SQL 语句.这些命令不仅可以修改或破坏数据源位置的信息,还可以检索您的私有信息.将命令字符串与外部输入串联在

ASP中Utf-8与Gb2312编码转换乱码问题的解决方法 页面编码声明_应用技巧

出现这样的问题是当你浏览UTF-8编码的时候,服务器默认用UTF-8的引擎来输出html,当你用再浏览GB2312的页面时,它还是用UTF-8来输出本应是GB2312编码的页面所以会乱码. 为了这个问题烦了我一个早上,终于的蓝色理想上得到解决. 首先让我们来了解一下Session对象提供了四个属性. 1.CodePage 读/写.整型. 定义用于在浏览器中显示页内容的代码页(Code Page).代码页是字符集的数字值,不同的语言和场所可能使用不同的代码页.例如,ANSI代码页 1252用于美国

ASP中server的方法

server     1.HTMLEncode 方法 HTMLEncode 方法允许你对特定的字符串进行 HTML 编码,虽然 HTML 可以显示大部分你写入 ASP 文件中的文本,但是当你需要实际包含 HTML 标记中所使用的字符,就会遇到问题.这是因为,当浏览器读到这样的字符串时,会试图进行解释.例如下面的这段文本 : 这是对 HTMLEncode 方法的测试.< br> 这里应该不会另起一行. 会被浏览器显示为 : 这是对 HTMLEncode 方法的测试. 这里应该不会另起一行. 为了