Précédent   Forum du club des développeurs et IT Pro > Autres langages > Python & Zope > Interfaçage autre langage
Interfaçage autre langage Forum d'entraide pour l'interfaçage avec d'autres langages (ctypes, api C, swig, ...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 21/04/2011, 16h21   #1
ikuzar
Membre actif
 
Étudiant
Inscription : décembre 2007
Messages : 614
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2007
Messages : 614
Points : 189
Points : 189
Envoyer un message via MSN à ikuzar
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.
ikuzar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 16h33   #2
afranck64
Membre Expert
 
Avatar de afranck64
 
Homme Franck Awounang N.
Étudiant
Inscription : janvier 2009
Messages : 587
Détails du profil
Informations personnelles :
Nom : Homme Franck Awounang N.
Âge : 21
Localisation : Autre

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

Informations forums :
Inscription : janvier 2009
Messages : 587
Points : 1 025
Points : 1 025
Envoyer un message via Yahoo à afranck64
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
Citation:
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
afranck64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 16h47   #3
Apocalypses
Membre confirmé
 
Avatar de Apocalypses
 
Homme
Étudiant
Inscription : novembre 2008
Messages : 296
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 22
Localisation : France

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

Informations forums :
Inscription : novembre 2008
Messages : 296
Points : 274
Points : 274
Envoyer un message via MSN à Apocalypses
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)
Apocalypses est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 16h48   #4
ikuzar
Membre actif
 
Étudiant
Inscription : décembre 2007
Messages : 614
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2007
Messages : 614
Points : 189
Points : 189
Envoyer un message via MSN à ikuzar
Est ce que tu peux me montrer un exemple très simple avec 0x66, 0x00, 0x00, 0x39 ?
ikuzar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 16h54   #5
afranck64
Membre Expert
 
Avatar de afranck64
 
Homme Franck Awounang N.
Étudiant
Inscription : janvier 2009
Messages : 587
Détails du profil
Informations personnelles :
Nom : Homme Franck Awounang N.
Âge : 21
Localisation : Autre

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

Informations forums :
Inscription : janvier 2009
Messages : 587
Points : 1 025
Points : 1 025
Envoyer un message via Yahoo à afranck64
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
Citation:
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
afranck64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 11h39.


 
 
 
 
Partenaires

Hébergement Web