RosettaCodeData/Task/URL-encoding/REALbasic/url-encoding-2.realbasic

22 lines
636 B
Text
Raw Permalink Normal View History

2016-12-05 22:15:40 +01:00
Function URLEncode(Data As String, ParamArray Exceptions() As String) As String
Dim buf As String
For i As Integer = 1 To Data.Len
Dim char As String = Data.Mid(i, 1)
Select Case Asc(char)
Case 48 To 57, 65 To 90, 97 To 122, 45, 46, 95
buf = buf + char
Else
If Exceptions.IndexOf(char) > -1 Then
buf = buf + char
Else
buf = buf + "%" + Left(Hex(Asc(char)) + "00", 2)
End If
End Select
2013-04-11 01:07:29 -07:00
Next
2016-12-05 22:15:40 +01:00
Return buf
2013-04-11 01:07:29 -07:00
End Function
2016-12-05 22:15:40 +01:00
'usage
Dim s As String = URLEncode("http://foo bar/") ' no exceptions
Dim t As String = URLEncode("http://foo bar/", "!", "?", ",") ' with exceptions