IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Convertion en hexadecimal..


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Convertion en hexadecimal..
    Bonjour ,

    Je suis nouveau sur ce site et je viens ici pour vous demander votre aide.

    Je travaille sur le raspberry , en python , avec un mini module RFID qui est relié au raspberry. Quand je passe une carte devant l'antenne du module, il me renvoie le code de la carte sur le raspberry, voici mon programme pour l'instant :

    import serial

    ser=serial.Serial('/dev/ttyAMA0',9600)
    a=ser.read(5)
    print(a)

    Donc quand je passe la carte il me renvoi des lettres , des carrés blancs , enfin plusieurs choses comme celles-ci:
    Nom : Capture carte7.PNG
Affichages : 135
Taille : 1,6 Ko

    Je suppose que c'est du code ASCII.

    Donc c'est pour cela que je voudrai que le programme m'affiche la valeur en hexadécimal mais je ne sais pas comment faire, c'est pour cela que je demande votre aide.

    Merci de d'avance à tous ceux qui pourrait m'aider et consacrer un peu de temps à mon problème.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par Boco2aa Voir le message
    Je suppose que c'est du code ASCII.

    Donc c'est pour cela que je voudrai que le programme m'affiche la valeur en hexadécimal mais je ne sais pas comment faire, c'est pour cela que je demande votre aide.
    Si c'était de l'ASCII vous verriez des caractères "imprimables" pour certains. En fait ce sont des bytes que vous voulez pouvoir afficher sous une forme lisible.
    Vous devez travaillez sous Python 2: essayez avec print repr(a) (car Python3 fait le job tout seul).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Si c'était de l'ASCII vous verriez des caractères "imprimables" pour certains. En fait ce sont des bytes que vous voulez pouvoir afficher sous une forme lisible.
    Vous devez travaillez sous Python 2: essayez avec print repr(a) (car Python3 fait le job tout seul).

    - W
    j'ai essayé avec la commande que vous m'avez donné et ca donne ca :
    Nom : Capture carte7(2).PNG
Affichages : 192
Taille : 1,9 Ko

    ca me met toujours des "%" etc..

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par Boco2aa Voir le message
    j'ai essayé avec la commande que vous m'avez donné et ca donne ca :
    Nom : Capture carte7(2).PNG
Affichages : 192
Taille : 1,9 Ko

    ca me met toujours des "%" etc..
    Ca affiche "normalement" les caractères imprimables (% et T) et sous forme hexadécimale les autres.
    Si vous tenez à afficher la chaîne de caractères sous forme hexadécimale, vous pouvez utiliser la composition de la fonction hex avec ord - i.e. hex(ord(...)) - dans une boucle "for" traitant chaque byte de "a" ou la fonction hexlify du module binascii.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Ca affiche "normalement" les caractères imprimables (% et T) et sous forme hexadécimale les autres.
    Si vous tenez à afficher la chaîne de caractères sous forme hexadécimale, vous pouvez utiliser la composition de la fonction hex avec ord - i.e. hex(ord(...)) - dans une boucle "for" traitant chaque byte de "a" ou la fonction hexlify du module binascii.

    - W

    J'ai du mal à écrire la commande avec for .. mes connaissances en python sont faibles.. , si vous pouviez m'indiquer un peu plius.. merci d'avance

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par Boco2aa Voir le message
    J'ai du mal à écrire la commande avec for .. mes connaissances en python sont faibles.. , si vous pouviez m'indiquer un peu plius.. merci d'avance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> a = b'\x85\x89\x95ab'
    >>> import binascii
    >>> binascii.hexlify(a)
    '8589956162'
    >>>
    Pour le reste, si vous n'arrivez pas à vous débrouiller seul, prenez le temps d'ouvrir un tuto.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Convertion hexadecimal <-> char
    Par oc_alex86 dans le forum Débuter
    Réponses: 5
    Dernier message: 04/12/2008, 17h30
  2. convertion hexadecimal -->binaire
    Par awax dans le forum Delphi
    Réponses: 5
    Dernier message: 16/06/2006, 19h35
  3. convertion valeur hexadecimal en decimal
    Par devdev2003 dans le forum C
    Réponses: 8
    Dernier message: 06/10/2005, 12h35
  4. Convertion de type VARIANT à type CString
    Par j_grue dans le forum MFC
    Réponses: 2
    Dernier message: 07/11/2002, 14h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo