Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo decodificar el código server.urlencode en JS?

¿Cómo decodificar el código server.urlencode en JS?

request("variable") recibe datos decodificados

Te proporciona dos funciones, tal vez puedas usarlas

Aunque request en ASP decodificará automáticamente la cadena de codificación de URL, pero Request.BinaryRead (Request.TotalBytes) no decodifica los datos de la publicación cuando los recibes, por lo que debes decodificarlos

. BinaryRead(Request.TotalBytes) no decodifica los datos de la publicación cuando los obtienes, por lo que tienes que decodificarlos

Aquí hay una función de decodificación que encontré para la función server.urlencode en ASP

Función URLDecode(enStr)

dim deStr, strSpecial

dim c, i, v

deStr=""

strSpecial ="!""#$amp;'()* ,.-_/:;lt;=gt;?@[\]^`{|}~"

para i =1 a len (enStr)

c=Mid(enStr, i, 1)

si c="" entonces

v=eval("amp ;h " Medio (enStr, i 1, 2))

si inStr(strSpecial, chr(v))gt 0 entonces

deStr=deStramp; p> i=i 2

else

v=eval("amp;h" Mid(enStr, i 1, 2) Mid( enStr, i 4, 2))

deStr=deStr amp;chr(v)

i=i 5

end if

else

if c=" " entonces

deStr=deStramp;" "

else

deStr=deStramp c

finaliza

p>

end if

next

URLDecode=deStr

Fin de función

Agregue otra función de codificación, que sea diferente de el servidor. urlencode es diferente: server.urlencode codificará etiquetas html o Xml (como lt;br/gt;), mientras que la función siguiente no lo hará. Estoy usando la siguiente función para codificar primero y luego decodificar ya que estoy usando publicación con Xml.

Función privada URLEncoding(vstrIn)

strReturn = ""

For i = 1 To Len(vstrIn)

ThisChr = Mid (vStrIn, i, 1)

Si Abs( Asc(ThisChr)) lt amp; HFF Entonces

strReturn = strReturn

Else

p>

InnerCode = Asc(ThisChr)

Si InnerCode lt 0 Entonces

InnerCode = InnerCode H10000

Fin Si

Hight8 = (innerCode Y amp; HFF00)\ amp HFF

Low8 = internalCode Y amp.

strReturn = strReturn "" amp; Hex(Hight8) amp ; "" amp; Hex(Low8)

Finalizar si

Siguiente

URLEncoding = strReturn

Finalizar función