(raw)urlencode & (raw)urldecode & hextoint

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

 

Steffen

Betreff: (raw)urlencode & (raw)urldecode & hextoint

BeitragSo, Dez 14, 2003 12:28
Antworten mit Zitat
Benutzer-Profile anzeigen
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 hex
BlitzBasic: [AUSKLAPPEN]
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

Kryan

BeitragFr, Jan 02, 2004 18:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Was soll es bringen?
Ein Verschlüsselungsprogramm,oder was? Rolling Eyes

bruZard

BeitragFr, Jan 02, 2004 19:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Lerne etwas über "Zeichenketten als URL kodieren" und Du wirst sehen...
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32

User posted image

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group