为noob Python问题道歉,但我已经坚持了很长时间。
我正在使用python套接字从服务器接收一些数据。我这样做:
data = self.socket.recv(4)
print "data is ", data
print "repr(data) is ", repr(data)
控制台上的输出是:
数据是
repr(数据)是'\ x00 \ x00 \ x00 \ x01'
我想把这个基本上包含4个字节数字的字符串转换为int - 或者实际上是C中的长字符号。如何将这个数据对象转换为一个我可以轻松管理的数值?
答案 0 :(得分:10)
您可能想要使用struct。
代码看起来像:
import struct
data = self.socket.recv(4)
print "data is ", data
print "repr(data) is ", repr(data)
myint = struct.unpack("!i", data)[0]