remplir un tableau de valeurs hexadécimales

remplir un tableau de valeurs hexadécimales - Python - Programmation

Marsh Posté le 21-04-2011 à 16:24:40    

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.
data = "Hello" 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 de 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.

Reply

Marsh Posté le 21-04-2011 à 16:24:40   

Reply

Marsh Posté le 14-12-2011 à 23:36:05    

bonjour,
 
La structure des listes Python n'est pas comparable à un tableau C. Pour transmettre une série de valeurs, tu dois convertir cette liste de valeurs en tableau d'octets. La fonction bytearray() te permet de faire ce que tu souhaites:
 

>>> dataTosend = [0x66, 0x00, 0x00, 0x39]
>>> raw_data = bytearray(dataToSend)
 
>>> # on peut maintenant manipuler le bytearray comme une tableau
>>> print raw_data[0]
102

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed