2011-06-21 20 views
17

Estoy tratando de codificar caracteres no ASCII para poder ponerlos dentro de una url y usarlos en urlopen. El problema es que quiero una codificación como JavaScript (que, por ejemplo codifica ó como %C3%B3):Caracteres de codificación de Python con urllib.quote

encodeURIComponent(ó) 
'%C3%B3' 

Pero urllib.quote en los retornos pitón ó como %F3:

urllib.quote(ó) 
'%F3' 

Quiero saber cómo lograr una codificación como javascript encodeURIComponent en Python, y también si puedo codificar caracteres no ISO 8859-1 como el chino. ¡Gracias!

+0

relacionados: http://stackoverflow.com/questions/6338469/how-to-url-safe-encode-a-string -with-python-and-urllib-quote-is-wrong – geoffspear

Respuesta

27

Quiere asegurarse de que está utilizando unicode.

Ejemplo:

import urllib 

s = u"ó" 
print urllib.quote(s.encode("utf-8")) 

Salidas:

%C3%B3

+0

gracias ... está resuelto – Saulpila

Cuestiones relacionadas