¿Cómo decodificar el código server.urlencode en JS?
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>
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