Pitón. Representación de frases, ¿cómo cambiar?

No sé cuál es la encoding presente en estas frases (y también me gustaría una respuesta a esto). Principalmente, me gustaría cambiarle mis frases.

Por ejemplo:

Hola Mundo! se convierte en Hello% 20World!% 0A

Olá mundo! se convierte en Ol% C3% A1% 20mundo!% 0A% 0A

Me gustaría una solución de python para esto.

Si tengo

>>> Frase = ‘Olá mundo!’

Como cambiarlo a

>>> FinalPhrase

‘Ol% C3% A1% 20mundo!% 0A% 0A’

usando Python?

Google lo usa en su sitio de traducción, por ejemplo:

Ver:

http://translate.google.com.br/#en|pt|Hello%20World!%0A%0A

http://translate.google.com.br/#pt|en|Ol%C3%A1%20mundo!%0A

Necesito este uso en aplicaciones web y hago urls para conectarme a algunos sitios que usan este tipo de url.

 >>> import urllib2 >>> urllib2.quote  >>> urllib2.quote("ü") '%C3%BC' >>> urllib2.quote('Olá mundo!') 'Ol%C3%A1%20mundo%21'