Ahora mismo:
Si hay espacios, use %20 en su lugar, si hay otros caracteres, use %ASCII en su lugar. Si hay cuatro caracteres de bytes como los caracteres chinos, use dos %ASCII en su lugar. Sin embargo, a veces también necesitamos decodificar las cadenas codificadas de esta manera, pero ASP no proporciona funciones relevantes, lo que nos trae algunos problemas para tratar el problema. De hecho, mientras sepamos las reglas de codificación, podemos usar el código ASP para implementar nuestra propia función Urldecode.
La implementación específica es la siguiente:
La copia del código es la siguiente:
Functionurldecode (encodestr)
Newsstr = ""
havechar = falso
lastchar = ""
Fori = 1Tolen (codicio)
char_c = mid (codestr, i, 1)
ifchar_c = "+" entonces
Newsstr = Newstr y ""
elseifchar_c = "%" entonces
next_1_c = mid (codector, i+1,2)
next_1_num = cint ("& h" & next_1_c)
ifhavecharthen
havechar = falso
Newsstr = Newstr & chr (cint ("& h" & Lastchar & next_1_c))
demás
ifabs (next_1_num) <= 127then
Newsstr = Newstr & chr (next_1_num)
demás
havechar = verdadero
lastchar = next_1_c
endif
endif
i = i+2
demás
Newsstr = Newstr & Char_c
endif
próximo
urldecode = newrtr
Función final
Aquí hay una función más madura para usted:
La copia del código es la siguiente:
'=====================================================================
'Nombre de la función: Urldecode
'Función: decodificación de URL
'=====================================================================
Función Urldecode (Byval URLCode)
Dim Start, Final, Longitud, Char, I, Butf8, Pass
Dim Leftstr, Rightstr, FinalStr
Dim B0, B1, Bx, Blength, Position, U, UTF8
En el currículum de error siguiente
B0 = Array (192,224,240,248,252,254)
urlcode = reemplazar (URLCode, "+", "")
pase = 0
UTF8 = -1
longitud = len (urlcode): start = instr (urlcode, "%"): final = instrrev (urlcode, "%")
If start = 0 o longitud <3 entonces urlDecode = urlcode: Función de salida
Leftstr = Left (URLCode, Start - 1): Rightstr = Right (URLCode, Longitud - 2 - Final)
Para i = empezar a final
Char = Mid (URLCode, I, 1)
Si char = "%" entonces
bx = urldecode_hex (Mid (URLCode, i + 1,2))
Si bx> 31 y bx <128 entonces
i = i + 2
FinalStr = FinalStr & Chrw (BX)
Elseif bx> 127 entonces
i = i + 2
Si utf8 <0 entonces
butf8 = 1: blength = -1: b1 = bx
Para la posición = 4 a 0 paso -1
Si b1> = b0 (posición) y b1 <b0 (posición + 1) entonces entonces
Blength = Position
Salir
Final si
Próximo
Si flength> -1 entonces
Para la posición = 0 a la longitud
b1 = urldecode_hex (Mid (URLCode, I + Posición * 3 + 2,2)))
Si B1 <128 o B1> 191 entonces butf8 = 0: Salga de
Próximo
Demás
Perof8 = 0
Final si
Si butf8 = 1 y Blength = 0 luego butf8 = -2
Si butf8> -1 y utf8 = -2 entonces i = inicio -1: finaltr = "": pass = 1