Decodificare un URL codificato - Script ASP

In ASP esiste una funzione che ha il compito di codificare i caratteri di una stringa in un formato URL friendly, convertendo ad esempio gli spazi nel carattere %20 o sostituendo simboli con i rispettivi valori codificati o entità.
La funzione si chiama Server.URLEncode().

Ecco un esempio concreto di utilizzo di URLEncode().

<% 

' Definisco una stringa
str = "http://www.weppos.com/forum/forum_posts.asp?TID=25&PN=1"

' Codifico l'URL
strUrl = Server.URLEncode(str)

' Stampo la stringa codificata
Response.Write(strUrl)

%> 

La stampa produrrà il seguente output

http%3A%2F%2Fwww%2Eweppos%2Ecom%2Fforum%2Fforum%5Fposts%2Easp%3FTID%3D25%26PN%3D1

Sfortunatamente, ASP non mette a disposizione alcuna funzione di decodifica delle stringhe codificate con questo sistema.
Può venirci in aiuto la funzione seguente che richiama ciascun carattere non alfanumerico codificato sostituendolo con il rispettivo originale.

<% 

public function URLDecode(url)

' Decodifica ogni carattere
for ii = 1 to 255
  url = Replace(url, Server.URLEncode(chr(ii)),chr(ii))
next

' Ritorna il valore
URLDecode = url

end function

%> 

Per poter utilizzare la funzione sarà sufficiente includerla e richiamarla.

<% 

strUrl = "http%3A%2F%2Fwww%2Eweppos%2Ecom%2F"
str = URLDecode(strUrl)
Response.Write(str)

%> 

Note: questa funzione è tratta dal sito www.oscarjsweb.com, ad oggi offline.


asp.weppos.com e asp.weppos.it sono di proprietà di Simone Carletti.
Scopri il mio sito o visita il mio Simone Carletti's profile on LinkedIn