处理python套接字recv的输出

时间:2009-03-27 20:26:51

标签: python sockets

为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中的长字符号。如何将这个数据对象转换为一个我可以轻松管理的数值?

1 个答案:

答案 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]