Saltar al contenido

URL Decoder (HTML Codes - Characters and symbols)


verzulsan

Recommended Posts

publicado

Decodifica los caracteres especiales de las URL segun el standar (ISO 10646, ISO 8879, ISO 8859-1); basado en el listado de la páginaHTML Codes - Table of ascii characters and symbols.

'Funcion: URL Decodign; _
Decodifica una cadena URL codificada
'Fuentes: http://ascii.cl/htmlcodes.htm
Public Function GetDecodedURL(URLencoded As String) As String

Dim Pcod As String
Dim Pchr As String

'Primero se reemplaza los caracteres especiales para que no sean pisados por el contador
Dim RempQue() As String, RempPor() As String
RempQue() = Split("%352;%338;%339;%352;%353;%376;%402;%8211;%8212;%8216;%8217;%8218;%8220;%8221;%8222;%8224;%8225;%8226;%8230;%8240;%8364;%8482;%2520", ";", , vbTextCompare)
RempPor() = Split("Ÿ;Œ;œ;Š;š;Ÿ;ƒ;–;—;‘;’;‚;“;”;„;†;‡;•;…;‰;€;™; ", ";", , vbTextCompare)
For i = 0 To UBound(RempQue)
URLencoded = Replace(URLencoded, RempQue(i), RempPor(i), 1, , vbTextCompare)
Next

'El resto de reemplazos de caracteres estandar se aplican con un bucle _
Segun la lista de la pagina, caracteres 126-160 no estan reservados y nos lo saltamos
For i = 32 To 255
If i = 126 Then i = 160
Pcode = "%" & Hex(i) 'Caracter a reemplazar
Pchr = Chr(i) 'Nuevo caracter
URLencoded = Replace(URLencoded, Pcode, Pchr, 1, , vbTextCompare)
Next
'Ã%89

'Ahora la parte chapucera (Algunos caracteres que se han saltado la norma de lo lde arriba).
'Depuracion de algunos caracteres que podrian no haber sido reemplazados (puede haber mas)
URLencoded = Replace(URLencoded, "Ã%81", "Á", 1, , vbTextCompare)
URLencoded = Replace(URLencoded, "Ã%89", "É", 1, , vbTextCompare)
'falta Í, Ó, Ú, á, é, í, ó, ú

GetDecodedURL = URLencoded
End Function[/CODE]

La única pega es que los españoles van un poco por libres y los acentos no coinciden, solo he añadido “Á” y “É” al final, el resto supongo que los añadiré cuando me encuentre el caso.

En el archivo hay un ejemplo de URL para convertir.

Saludos.

URL decoder.xls

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.