Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    décembre 2007
    Messages
    629
    Détails du profil
    Informations personnelles :
    Âge : 28

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2007
    Messages : 629
    Points : 204
    Points
    204

    Par défaut remplir un tableau de valeurs hexadécimales

    Bonjour,
    J'utilise python pour lancer des tests unitaires.
    j'ai une application client/serveur écrit en C/C++ et j'utilise swig pour génerer l'interface.
    j'ai une fonction py_send( con_num, data ) qui permet d'envoyer data.
    marche bien. je recois bien "Hello" des deux cotés.
    Maintenant j'aimerais envoyer un tableau contenant des valeurs hexadécimal ( pris à partir d'une capture wireshark ).
    Ma question :
    comment écrire un tableau ou une chaine contenant ces valeurs héxadécimales ?
    j'ai fait :
    dataTosend = [0x66, 0x00, 0x00, 0x39] mais mon programme dit qu'il y a une erreur quand ma fonction de chiffrement essaie chiffrer dataTosend avant de l'envoyer. Je ne sais donc pa si la facon dont j'envoie les données hexadécimale est correcte ou pas.

    Merci d'avance pour votre aide.

  2. #2
    Membre émérite
    Avatar de afranck64
    Homme Profil pro Franck Awounang N.
    Étudiant
    Inscrit en
    janvier 2009
    Messages
    590
    Détails du profil
    Informations personnelles :
    Nom : Homme Franck Awounang N.
    Âge : 23
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2009
    Messages : 590
    Points : 992
    Points
    992

    Par défaut

    Bonjour,
    d abord, je pense qu il est preferable d utiliser un tuple ( ca fait plus tableau C) et a defaut, faire si c est un nombre, ou concatener les differentes valeurs dans une chaine et puis tranmettre la chaine resultante.
    Win 7 HP 64 bits /Ubuntu 12.04, - AMD A6 Quad: Py32 / Py27
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tuto, Web, ...)
    - Tests déjà effectués

  3. #3
    Membre confirmé Avatar de Apocalypses
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2008
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2008
    Messages : 320
    Points : 274
    Points
    274

    Par défaut

    J'aurai également envoyé cela sous forme d'un string puis récupéré le tableau:

    Code :
    1
    2
    3
    4
    string = str(dataTosend)
    ..
    ..
    dataRecup = eval(string)

  4. #4
    Membre confirmé
    Étudiant
    Inscrit en
    décembre 2007
    Messages
    629
    Détails du profil
    Informations personnelles :
    Âge : 28

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2007
    Messages : 629
    Points : 204
    Points
    204

    Par défaut

    Est ce que tu peux me montrer un exemple très simple avec 0x66, 0x00, 0x00, 0x39 ?

  5. #5
    Membre émérite
    Avatar de afranck64
    Homme Profil pro Franck Awounang N.
    Étudiant
    Inscrit en
    janvier 2009
    Messages
    590
    Détails du profil
    Informations personnelles :
    Nom : Homme Franck Awounang N.
    Âge : 23
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2009
    Messages : 590
    Points : 992
    Points
    992

    Par défaut

    Code :
    1
    2
    3
    val = int("0x39",16)
    val2 = eval("0x39")
    print val, val2
    avec <int> par example, il faut fournir la base dans laquelle se trouvent la chaine passe en parametre (facultatif pour la base 10). <eval> quant a lui est un genie.
    Win 7 HP 64 bits /Ubuntu 12.04, - AMD A6 Quad: Py32 / Py27
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tuto, Web, ...)
    - Tests déjà effectués

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •