NetH2o

认劳不认怨,无功;认怨不认劳,无用。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Asp URLEncode8

Posted on 2009-01-09 20:46  evan_jia  阅读(130)  评论(0)    收藏  举报
Function URLEncode8(strIn) 
        
Dim ret
        
Dim i
        
Dim u
        
Dim b(2)
        
For i=1 To Len(strIn) 
                u
=AscW(Mid(strIn,i,1)) And &HFFFF& 
                
If u<128 Then 
                    
If isalnum(u) Then 
                        ret
=ret &Chr(u) 
                    
Else
                          ret
=ret &"%" &LeftFill(Hex(u),2,"0"
                    
End If 
                
ElseIf u<2048 Then 
                    b(
1)=&H80 Xor (u And &H3F) 
                    u
=\(2 ^ 6
                    b(
0)=&HC0 Xor (u And &H1F) 
                    ret 
= ret &"%" & Hex(b(0)) &"%" & Hex(b(1)) 
                
Else 
                    b(
2)=&H80 Xor (u And &H3F) 
                    u
=\(2 ^ 6
                    b(
1)=&H80 Xor (u And &H3F) 
                    u
=\ (2 ^ 6
                    b(
0)=&HE0 Xor (u And &HF) 
                    ret
=ret &"%" & Hex(b(0)) &"%" & Hex(b(1)) &"%" & Hex(b(2)) 
                
End If 
        
Next 
        URLEncode8 
= ret 
End Function

Powered by: 博客园 Copyright @ Evan.jia