Bonjour, je suis un contributeur au langage Python. Je participe à la correction des bugs relatifs à Unicode. En travaillant sur le bug suivant, j'ai trouvé un problème avec la fonction _ungetwch() :
http://bugs.python.org/issue5410
Pour des caractères dont le code est supérieur à 255 (ex: 8364 pour le signe euro, €), il semble que _ungetwch() ne conserve que les 8 bits de poids faible. C'est comme si _ungetwch(x) était équivalent à _ungetwch(x & 255).
J'ai tenté de définir _UNICODE et m'assurer que _MBCS n'est pas défini (pour le préprocesseur C), mais ça ne semble avoir aucune incidence.
En même temps, la fonction _getwch() fonctionne correctement avec les codes supérieurs à 255 (comme le signe euro).
Est-ce un bug dans la bibliothèque conio (gestion de la console texte) de Microsoft Visual C++ ?
Partager