(raw)urlencode & (raw)urldecode & hextoint von Steffen |
Urlencode wird benutzt, um Strings per GET an einen Server zu senden. Alle Sonderzeichen außer -_. werden dabei durch % und einen 2Stelligen Hexcode ersetzt; Alle Leerzeichen werden durch + ersetzt. Urldecode decodiert das ganze dann wieder, dass der String wieder im Urzustand vorliegt. Rawurlencode funktioniert ähnlich, wie Urlencode, nur dass die Leerzeichen nicht als + sondern als %20 dargestellt werden. Rawurldecode ist die entsprechende Umkehrfunktion für Rawurlencode. Hextoint ist das gegenteil von [url=http://blitzbase.de/befehle2d/hex.htm]hex[/url] [code:1:9af5675864]Function urlencode$(intext$) Return Replace(rawurlencode$(intext$),"%20","+") End Function Function urldecode$(intext$) Return rawurldecode$(Replace(intext$,"+","%20")) End Function Function rawurlencode$(intext$) Local outtext$, zeichen$, asciicode%, i%, laenge% laenge% = Len(intext$) For i% = 1 To laenge zeichen$ = Mid(intext$,i%,1) asciicode% = Asc(zeichen$) If ((asciicode%>=45) And (asciicode%<=46)) Or ((asciicode%>=48) And (asciicode%<=57)) Or ((asciicode%>=65) And (asciicode%<=90)) Or (asciicode%=95) Or ((asciicode%>=97) And (asciicode%<=122)) Then outtext$ = outtext$ + zeichen$ Else outtext$ = outtext$ + "%" + Right(Hex(asciicode%),2) EndIf intext$ = Mid(intext$,2,-1) Next Return outtext$ End Function Function rawurldecode$(intext$) Local outtext$, zeichen$ While intext$<>"" zeichen$ = Left(intext$,1) If zeichen$ = "%" Then outtext$ = outtext$ + Chr(hextoint(Mid(intext$,2,2))) intext$ = Mid(intext$, 4, -1) Else outtext$ = outtext$ + zeichen$ intext$ = Mid(intext$,2,-1) EndIf Wend Return outtext$ End Function Function hextoint%(inhex$) Local outint%,faktor%,i%,zeichen$,wert%,laenge% inhex$ = Upper(inhex$) laenge% = Len(inhex$) faktor% = 1 For i% = 0 To laenge%-1 zeichen$ = Mid(inhex$, laenge%-i%,1) If (zeichen$>="0") And (zeichen$<="9") Then wert% = Int(zeichen$) Else wert% = Asc(zeichen$)-55 EndIf outint% = outint% + faktor% * wert% faktor% = faktor% * 16 Next Return outint% End Function[/code:1:9af5675864] |