In diesem Artikel wird hauptsächlich die Lösung für das Problem von nur Urlencode in ASP und ohne Urldecode vorgestellt.
Es gibt einen sehr nützlichen Systemfunktionserver wurde ebenfalls zur Verfügung gestellt, aber nachdem ich es verwendet hatte, stellte ich fest, dass das Programm einen Fehler meldete. Was zu tun ist, mach es selbst.
Das Prinzip der Urlencode ist eigentlich sehr einfach.
- FunctionUrldecode (ENSTR) 'URL -Decodierungsfunktion
- Dimdestern
- Dimc, i, v
- Zerstörung =
- fei = 1tolen (enstr)
- C = MID (ENSTR, I, 1)
- Ifc =%dann
- v = Eval (& H+Mid (ENSTR, I+1,2))
- IFV <128Then
- Zerstörungen = Zerstörungen & chrt (v)
- i = i+2
- anders
- ifisvalidhex (MID (ENSTR, I, 3)) dann
- ifisvalidhex (MID (ENSTR, I+3,3)) dann
- v = eval (& h+mid (ENSTR, I+1,2)+MID (ENSTR, I+4,2))
- Zerstörungen = Zerstörungen & chrt (v)
- i = i+5
- anders
- v = eval (& h+mid (enstr, i+1,2)+cstr (hex (ASC (MID (ENSTR, I+3,1)))))))))))
- Zerstörungen = Zerstörungen & chrt (v)
- i = i+3
- Endif
- anders
- Zerstörungen = Zerstörungen & c
- Endif
- Endif
- anders
- ifc =+dann
- Zerstörung = Zerstörungen &
- anders
- Zerstörungen = Zerstörungen & c
- Endif
- Endif
- nächste
- URLDECODE = Zerstörungen
- Endfunktion
- functionisvalidhex (STR)
- isvalidhex = true
- STR = UCase (str)
- iflen (str) <> 3Thenisvalidhex = false: exitFunction
- ifeft (str, 1) <>%thenisvalidhex = false: exitFunction
- C = MID (STR, 2,1)
- ifnot (((c> = 0) und (c <= 9)) oder ((c> = a) und (c <= z)) thenisvalidhex = false: exitFunction
- C = MID (STR, 3,1)
- ifnot (((c> = 0) und (c <= 9)) oder ((c> = a) und (c <= z)) thenisvalidhex = false: exitFunction
- Endfunktion
Bei der Verwendung von ASP im GB312 -Format nach dem Test gibt es kein Problem.