:roll: Bonsoir,
voici une adresse url,
http://fr.wikipedia.org/wiki/Poche_(v%C3%AAtement)
Comment puis-je la décoder ? Python propose t'il une méthode pour cela?
Le résultat ici est:
http://fr.wikipedia.org/wiki/Poche_(vêtement)
Version imprimable
:roll: Bonsoir,
voici une adresse url,
http://fr.wikipedia.org/wiki/Poche_(v%C3%AAtement)
Comment puis-je la décoder ? Python propose t'il une méthode pour cela?
Le résultat ici est:
http://fr.wikipedia.org/wiki/Poche_(vêtement)
Code:
1
2
3
4
5 >>> import urllib >>> print urllib.unquote("http://fr.wikipedia.org/wiki/Poche_(v%C3%AAtement)") http://fr.wikipedia.org/wiki/Poche_(vêtement) >>> print urllib.unquote("http://fr.wikipedia.org/wiki/Poche_(v%C3%AAtement)").decode('UTF8') http://fr.wikipedia.org/wiki/Poche_(vêtement)
Bonjour,
Ceci correspond exactement à ce que je cherchais.
Merci donc à dividee :merci:
Bonjour,
peut-on faire l'inverse à savoir passer de fr.wikipedia.org/wiki/Poche_(vêtement) à fr.wikipedia.org/wiki/Poche_(v%C3%AAtement) ?
Bien sûr, mais il faut faire attention au codec utilisé par la chaîne d'origine. Je ne suis pas spécialiste, mais pour le web je pense qu'il vaut mieux convertir la chaîne en UTF8 avant de l'encoder:
Si la chaîne d'origine n'est pas une chaîne unicode, il faut d'abord la décoder avec le bon codec. Si elle est déjà en UTF8, bien entendu, on peut se passer de l'encodage.Code:
1
2
3
4
5
6 >>> import urllib s = u"fr.wikipedia.org/wiki/Poche_(vêtement)" >>> urllib.quote(s.encode('UTF8')) 'fr.wikipedia.org/wiki/Poche_%28v%C3%AAtement%29' >>> urllib.quote(s.encode('UTF8'),'()') 'fr.wikipedia.org%2Fwiki%2FPoche_(v%C3%AAtement)'