Bonjour
Je travaille en ce moment sur un script avec des sockets
Quand on envoit un texte avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
self.connexion.send(message_emis)
cela envoi en réalité par la valeur hexadécimale du code ASCII.



En faite, au lieu d'envoyer un texte, j'aimerais envoyer mon code hexa-ASCII

le problème : si je veux envoyer "56 69 6e 73" (qui est l'hexa-ASCII de "Vins")
le script va envoyer 5 puis 6, puis 6, 9, 6, e, ... dans leur valeur (hexa-ASCII)

Pour contourner, je pourrais mettre dans ma variable la valuer "texte" du code hexa-ASCII
c'est à dire que si je veux envoyer l'hexa-ASCII de "56 69 6E 73"
il me suffit d'envoyer "Vins" dans une varible texte

Mais si je veux envoyer "18 00 01 56 69 6E 73" ?????
(pas d'équivalent texte pour 18, 00, 01, 02 ... ; enfin c'est \x18, x\00, ...)
Je ne peux pas envoyer le texte "\x18 x\00 x\01 VINS"
car sinon Python enverrai l'hexa-ascii de "\", "x", "1", "18", ... "V", "I", "N", "S"

Je sais seulement que je peux convertir mon texte
en hexa-ASCII avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
("%X" % ord("VAR_TEXTE"))
ou le contraire avec :
Donc est-il possible de déclarer des variables en Hexa pour envoyer directement le contenu en hexa, et pas le texte de la variable hexa ? ou existe-il une méthode qui demande comme argument à envoyer une valeur en hexa-Ascii ?


Merci