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 :

convertir une variable \x00\x80 en binaire


Sujet :

Python

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 136
    Par défaut convertir une variable \x00\x80 en binaire
    Bonjour,
    je suis débutant en python.

    j'ai récupéré une variable à travers une requête snmp qui est sous la forme \x00\x80.

    cette variable se change selon le comportement du périphérique que je contrôle,

    je voudrais savoir quel est le type de cette variable et comment la convertir en binaire.

    Merci.

  2. #2
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    A priori, c'est une chaine hexadécimale. Sous forme de string, certes, mais du binaire.
    Vu la forme que ça a, ça ressemble même à un champ de flags.

    En l'occurrence, voici ce qu'elle vaut en 1 et 0
    00000000 10000000
    J'imagine que le bit allumé a une signification précise.

    Tu peux obtenir sa valeur numérique avec la fonction ord
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    string = '\x00\x80'
    ord(string[0]) + ord(string[1])

  3. #3
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    A ton post d'hier quasi identique, la suggestion de Fructidor était

    Citation Envoyé par Fructidor Voir le message
    as tu essayé le module struct?
    Es-tu allé jeter un coup d'oeil ? "struct -- Interpret strings as packed binary data" dit la doc officielle. En gros, tu as deux fonctions (pour chaque sens, pack et unpack) et une syntaxe de "formattage" analogue au format de print avec les %

    Va voir la doc, elle n'est pas très longue, Ouvre une fenêtre "Python interactive" et profite du fait que tu n'aies pas à éditer/compiler/tester/recommencer comme dans les langages compilés.

    Si tu as encore des soucis, j'y répondrai avec plaisir

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 136
    Par défaut
    Merci à vous Antoine_935, plxpy
    ça marche j'ai réussi à convertir en utilisant ord par contre pour le module struct,
    ça marche pas.

  5. #5
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    teuteuteu : mauvaise langue !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    plx@sony:~$ python
    Python 2.5.2 (r252:60911, Oct  5 2008, 19:24:49) 
    [GCC 4.3.2] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from struct import pack,unpack
    >>> pseudo_chaine = pack('2B',0,128)
    >>> pseudo_chaine
    '\x00\x80'
    >>> unpack('2B',pseudo_chaine)
    (0, 128)
    >>>

Discussions similaires

  1. [PHP-JS] Convertir une variable javascript en php
    Par roxxxy dans le forum Langage
    Réponses: 14
    Dernier message: 01/03/2007, 12h12
  2. convertir une variable de type String en Number
    Par lilbrother974 dans le forum Flash
    Réponses: 13
    Dernier message: 06/09/2006, 08h28
  3. Comment convertir une variable string en double?
    Par quentinoux dans le forum C++
    Réponses: 12
    Dernier message: 31/07/2006, 10h46
  4. convertir une variable texte en variable date
    Par tafamilk dans le forum ASP
    Réponses: 2
    Dernier message: 12/08/2005, 01h01
  5. Réponses: 6
    Dernier message: 14/02/2004, 14h01

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