Toutes mes excuses pour la question noob Python, mais je suis coincé là-dessus depuis beaucoup trop longtemps.Gestion de sortie de la prise python recv
J'utilise des prises de python pour recevoir des données à partir d'un serveur. Je fais ceci:
data = self.socket.recv(4)
print "data is ", data
print "repr(data) is ", repr(data)
La sortie sur la console est la suivante:
donnéesest
rééd (données) est '\ x00 \ x00 \ x00 \ x01'
Je veux transformer cette chaîne contenant essentiellement un nombre de 4 octets en un int - ou en fait ce qui serait long en C. Comment puis-je transformer cet objet de données en une valeur numérique que je peux facilement gérer?
Merci. En fait, je devais faire "myint = unpack ("! I ", data) [0]" car c'est un big-endian et ça sort comme un tuple. Si vous voulez éditer je marquerai votre réponse correcte. Encore une fois, merci pour l'aide. – chrism1
Vous avez manqué la partie du tuple. :) Edited la réponse par votre demande. – grieve
Juste pour être pédant, je crois que la dernière ligne devrait aussi être: myint = struct.unpack ("! I", data) [0] –