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 :

python : probleme avec .encode("hex")


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 274
    Par défaut python : probleme avec .encode("hex")
    bonjour à tous,

    voila j'ai deux variables et j'aimerais les concaténer pour avoir une seul variable.
    voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    line0 = 0b10010001 # code en binaire
    line1 = 0b00001111 # code en binaire
     
    line = line0.encode("hex") + line1.encode("hex")  #concaténation
    le probleme c'est que ca me retourne :

    line = line0.encode("hex") + line1.encode("hex")
    AttributeError: 'int' object has no attribute 'encode'

    avez vous une idée du probleme?

    merci d'avance

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Salut,

    encode/decode sont plutôt des méthodes associées aux chaînes de caractères.
    Lorsque vous écrivez:
    "0b10010001" est la représentation littérale d'un nombre en base 2.
    De fait, "n" sera associé à un nombre et non à une chaîne de caractères:
    Et si vous voulez en récupérer la représentation hexadécimale ou binaire, vous avez les fonctions builtins "bin" et "hex":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> hex(n)
    '0x91'
    >>> bin(n)
    '0b10010001'
    >>>
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre très actif
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 274
    Par défaut
    ok, merci pour ta réponse!

    mais j'ai encore un petit soucis car pour moi line.encode("hex") récupère une chaine de caractère dans line et la convertie en hexadecimal non?

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Salut,

    Citation Envoyé par cosmoff Voir le message
    mais j'ai encore un petit soucis car pour moi line.encode("hex") récupère une chaine de caractère dans line et la convertie en hexadecimal non?
    Si line est définie par:
    alors pour Python ce sera un nombre.

    Si pour vous c'est une chaîne de caractère, Python a toujours le dernier mot.

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

  5. #5
    Membre très actif
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 274
    Par défaut
    d'accord pour ca mais si je met line="abc" ca ne marche pas non plus

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Salut,

    Citation Envoyé par cosmoff Voir le message
    d'accord pour ca mais si je met line="abc" ca ne marche pas non plus
    Le codec "hex" n'a pas été porté sous Python3.
    Vous pouvez utiliser une des fonctions du module binascii.
    Encore faut-il que ce soit vraiment ce que vous voulez faire.

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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [text] probleme avec simple quote
    Par bor1s dans le forum Langage SQL
    Réponses: 3
    Dernier message: 22/12/2005, 16h03
  2. Probleme avec encodage de simple quote
    Par linkowich dans le forum Langage
    Réponses: 2
    Dernier message: 31/10/2005, 13h16
  3. Réponses: 2
    Dernier message: 30/08/2004, 14h48

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