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=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=u \(2 ^ 6)
b(1)=&H80 Xor (u And &H3F)
u=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
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=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=u \(2 ^ 6)
b(1)=&H80 Xor (u And &H3F)
u=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
浙公网安备 33010602011771号