Transformar la cadena de URL en una cadena normal en python (% 20 a espacio, etc.)

¿Hay alguna manera en python para transferir esto->% CE% B1% CE% BB% 20 en esto: “αλ”, que es su representación real?

¡Gracias por adelantado!

Para python 2:

>>> import urllib2 >>> print urllib2.unquote("%CE%B1%CE%BB%20") αλ 

Para python 3:

 >>> from urllib.parse import unquote >>> print(unquote("%CE%B1%CE%BB%20")) αλ 

Y aquí está el código que funciona en todas las versiones:

 try: from urllib import unquote except ImportError: from urllib.parse import unquote print(unquote("%CE%B1%CE%BB%20")) 

Hay dos codificaciones en juego aquí. Su cadena se codificó primero como UTF-8 , luego cada byte se codificó en porcentaje .

Para recuperar la cadena original, primero debe anular su cita y luego descodificarla:

 >>> import urllib >>> s = '%CE%B1%CE%BB%20' >>> result = urllib.unquote(s).decode('utf8') >>> print result αλ 

Tenga en cuenta que necesita una consola habilitada para Unicode para mostrar el valor (si obtiene un error con la statement de impresión, intente ejecutarlo en IDLE ).

python 3 respuesta

 import urllib urllib.parse.unquote('/El%20Ni%C3%B1o/') '/El Niño/' 

fuente