|
Sie sind von der ASP-Programmierung zur "reinen" Visual Basic-Programmierung übergelaufen und vermissen nun die ASP-Methode URLEncode? Und deren Gegenstück URLDecode haben Sie sowieso auch schon in der ASP-Programmierung vermisst?
Nun, hier haben Sie zunächst die URLEncode-Funktion. Sie ersetzt alle Leerzeichen durch das gewünschte "+"-Zeichen und alle übrigen Zeichen, die nicht alphanumerisch sind bzw. einen Ascii-Code größer als 122 haben, durch ein Prozentzeichen, gefolgt vom Hexadezimal-Code des Ascii-Codes.
Public Function URLEncode(Str As String) As String
Dim i As Integer
Dim nAsc As Integer
URLEncode = Str
For i = Len(URLEncode) To 1 Step -1
nAsc = Asc(Mid$(URLEncode, i, 1))
Select Case nAsc
Case 48 To 57, 65 To 90, 97 To 122
Case 32
Mid$(URLEncode, i, 1) = "+"
Case Else
URLEncode = Left$(URLEncode, i - 1) & _
"%" & Hex$(nAsc) & Mid$(URLEncode, i + 1)
End Select
Next
End Function
Und hier haben Sie nun das Gegenstück, URLDecode:
Public Function URLDecode(Str As String) As String
Dim i As Integer
Dim nMax As Integer
Dim p As Integer
URLDecode = Str
nMax = Len(URLDecode)
Do
i = i + 1
p = p + 1
Select Case Mid$(URLDecode, i, 1)
Case "+"
Mid$(URLDecode, p, 1) = " "
Case "%"
Mid$(URLDecode, p, 1) = _
Chr$(Val("&H" & Mid$(URLDecode, i + 1, 2)))
i = i + 2
Case Else
Mid$(URLDecode, p, 1) = Mid$(URLDecode, i, 1)
End Select
Loop Until i > nMax
URLDecode = Left$(URLDecode, p - 1)
End Function
|