Forum Programmation.python Conversion de genre...

Posté par  .
Étiquettes : aucune
1
13
juil.
2009
Bonjour !

Bon, je suis débutant en python, mais malgré quelques recherches, je n'ai pas réussi à trouver de réponse à ma question, qui ne dois pas être compliquée....
J'ai un périphérique série auquel j'accède via python:serial
Ce périphérique m'envoie des valeurs du type '\xFF', et je cherche à convertir ces valeurs en quelque chose d'affichable.
j'ai regardé les fonctions hex() et int(), mais je n'arrive à rien, a priori il faudrais que ma chaine soit du type 0XFF ou FF.
Quelqu'un pourrait il m'éclairer ?
Merci d'avance !
  • # Caractères

    Posté par  (site web personnel) . Évalué à 5.

    Ce que le module serial te retourne, ce sont des caractères, pas des valeurs.

    Heureusement, il existe une fonction interne qui permet de récupérer le code d'un caractère : ord(). À toi d'utiliser hex() sur le résultat, ou d'afficher autrement.

    >>> ord('\xFF')
    255
    >>> hex(ord('\xFF'))
    '0xff'
    >>> "%X" % ord('\xFF')
    'FF'


    (Les caractères "spéciaux" vont-ils passer correctement ? La prévisualisation les transforme en entités mais je tente quand même.)
  • # binascii

    Posté par  . Évalué à 3.

    Le module binascii propose pleins de fonctions sympas pour convertir des trucs dans tous les sens. De tête, je ne peux pas dire laquelle te conviendrait, mais un petit help (binascii) sera un bon point de départ ;)
  • # Et aussi

    Posté par  . Évalué à 2.

    Si tu veux interpréter plusieurs octets comme des nombres C, il y a le module "struct" (http://docs.python.org/library/struct.html )

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.