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

2014 年 4 月 25 日4120

  <%
  '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
  %>


点这里查看更多ASP教程

0 0