Python : Encoder les carctères spéciaux en HTML Entity

  • Auteur de la discussion jinpol
  • Date de début

jinpol

Habitué
Bonjour,

existe t-il en Python une fonction permettant de remplacer dans une chaine de caractères tous les caractères spéciaux du style 'à' par leurs équivalents 'à'

Et petite question subsidiaire :

Comment utiliser u'' sur une variable.
En effet, on peut facilement faire u'ça va ???' mais si j'aiune variable data par exemple, comment faire pour appliquer u sur ma variable, sachant que si je fais u'data', ça transformera la chaine de caractères data et non ma variable...

Merci d'avance pour vos réponses.
Tchuss, @+, jinpol...
 

batchy

Grand Maître
pour la première réponse,

htmlentitydefs.codepoint2name est un dictionnaire qui mappe les codes ascii/unicode de tes caractères en leur nom d'entitée,
par exemple
htmlentitydefs.codepoint2name[ord('à')] == 'agrave'

il te reste plus qu'a faire une petite fonction qui parcourera ta chaîne et ira remplacer les caractères ayant un nom d'entité.

pour la deuxième question, pour convertir une chaine en unicode, il faut utiliser chaine.decode("encodage de ta chaine")

si tu ne connais pas l'encodage de ta chaîne, alors tu a un problème.
u'blabla' marche parce que tu à du spécifier l'encodage de ton fichier source à la première/deuxième ligne (sinon, l'encodage par défault est 'ascii', qui n'a pas d'accents).
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 128
Messages
6 717 845
Membres
1 586 373
Dernier membre
https://forum.tomshardwar
Partager cette page
Haut