Der nachfolgende Tipp konvertiert die Umlaute und Sonderzeichen einer Zeichenkette in ein Prozent-Zeichen und dem zweistelligen, hexadezimalen ASCII-Wert, um in einer URL z.B. Umlaute oder Leerzeichen zu erzeugen (URLEncode). ' Umlaute und Sonderzeichen verschlüsseln ' ' UsePlusRatherThanHexForSpace: ' False: Leerzeichen als %32 verschlüsseln ' True : Leerzeichen als + verschlüsseln Public Function URLEncode(StringToEncode As String, Optional _ UsePlusRatherThanHexForSpace As Boolean = False) As String Dim TempAns As String Dim CurChr As Integer CurChr = 1 Do Until CurChr - 1 = Len(StringToEncode) Select Case Asc(Mid$(StringToEncode, CurChr, 1)) Case 48 To 57, 65 To 90, 97 To 122 TempAns = TempAns & Mid$(StringToEncode, CurChr, 1) Case 32 If UsePlusRatherThanHexForSpace = True Then TempAns = TempAns & "+" Else TempAns = TempAns & "%" & Hex(32) End If Case Else TempAns = TempAns & "%" & Hex(Asc(Mid$(StringToEncode, _ CurChr, 1))) End Select CurChr = CurChr + 1 Loop URLEncode = TempAns End Function ' Entschlüsseln von mit URLEncode ' verschlüsselten Zeichenketten Public Function URLDecode(StringToDecode As String) As String Dim TempAns As String Dim CurChr As Integer CurChr = 1 Do Until CurChr - 1 = Len(StringToDecode) Select Case Mid$(StringToDecode, CurChr, 1) Case "+" TempAns = TempAns & " " Case "%" TempAns = TempAns & Chr(Val("&h" & _ Mid$(StringToDecode, CurChr + 1, 2))) CurChr = CurChr + 2 Case Else TempAns = TempAns & Mid$(StringToDecode, CurChr, 1) End Select CurChr = CurChr + 1 Loop URLDecode = TempAns End Function Beispiel: Dim text As String text = "Hans ist größer als Georg" Debug.Print URLEncode(text) ' ==> Hans%20ist%20gr%F6%DFer%20als%20Georg Debug.Print URLEncode(text, True) ' ==> Hans+ist+gr%F6%DFer+als+Georg Dieser Tipp wurde bereits 41.147 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats Mai 2024 Hermann Röttger Wochentage eines Datumsbereichs ermitteln Wochentage eines Datumsbereichs ermitteln, optional mit Feiertagsberechnung Neu! sevEingabe 3.0 Einfach stark! Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |