Эта статья в основном вводит решение проблемы только Urlencode в ASP и No Urldecode?
Существует очень полезный системный сервер. При прохождении параметров в ASP Также был предоставлен, но после его использования я обнаружил, что программа сообщила об ошибке. Что делать, делай это самостоятельно.
Принцип Urlencode на самом деле очень прост.
- Функция URL -функция FunctionUrlDecode (ENSTR) '
- Dimdestr
- Dimc, I, v
- destry =
- fori = 1tolen (enstr)
- c = середина (enstr, i, 1)
- ifc =%then
- v = eval (& h+mid (enstr, i+1,2))
- IFV <128then
- dests = destr & chr (v)
- i = i+2
- еще
- ifisvalidHex (Mid (enstr, i, 3)), затем
- ifisvalidHex (mid (enstr, i+3,3))
- v = eval (& h+mid (enstr, i+1,2)+mid (enstr, i+4,2))
- dests = destr & chr (v)
- i = i+5
- еще
- v = eval (& h+mid (enstr, i+1,2)+cstr (hex (asc (mid (enstr, i+3,1)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
- dests = destr & chr (v)
- i = i+3
- эндиф
- еще
- Dests = Dests & c
- эндиф
- эндиф
- еще
- ifc =+then
- Dests = Dests &
- еще
- Dests = Dests & c
- эндиф
- эндиф
- следующий
- Urldecode = destr
- конечная функция
- functionIsValidHex (str)
- isvalidHex = true
- str = ucase (str)
- iflen (str) <> 3thenisvalidhex = false: exitfunction
- ifleft (str, 1) <>%thenisvalidhex = false: exitfunction
- c = середина (str, 2,1)
- ifnot (((c> = 0) и (c <= 9)) или ((c> = a) и (c <= z))) thenisvalidhex = false: exitfunction
- c = середина (str, 3,1)
- ifnot (((c> = 0) и (c <= 9)) или ((c> = a) и (c <= z))) thenisvalidhex = false: exitfunction
- конечная функция
Нет проблем с использованием ASP в формате GB312 после тестирования.