Ci scusiamo per la domanda Python noob ma sono rimasto bloccato per troppo tempo.Gestione output di socket python recv
Sto usando i socket python per ricevere alcuni dati da un server. Faccio questo:
data = self.socket.recv(4)
print "data is ", data
print "repr(data) is ", repr(data)
L'uscita sulla console è questo:
dati è
repr (dati) è '\ x00 \ x00 \ x00 \ x01'
Voglio trasformare questa stringa contenente essenzialmente un numero di 4 byte in un int - o in realtà ciò che sarebbe un lungo in C. Come posso trasformare questo oggetto dati in un valore numerico che posso facilmente gestire?
Grazie. In realtà dovevo fare "myint = unpack ("! I ", data) [0]" dato che è big-endian e viene fuori come una tupla. Se vuoi modificare, segnerò la tua risposta corretta. Ancora una volta, grazie per l'aiuto. – chrism1
Manca la parte della tupla. :) Modificato la risposta secondo la tua richiesta. – grieve
Solo per essere pedante, credo che l'ultima riga dovrebbe essere anche: myint = struct.unpack ("! I", data) [0] –