处理python套接字recv的输出

chr*_*sm1 6 python sockets

为noob Python问题道歉,但我已经坚持了很长时间.

我正在使用python套接字从服务器接收一些数据.我这样做:


data = self.socket.recv(4)
print "data is ", data
print "repr(data) is ", repr(data)
Run Code Online (Sandbox Code Playgroud)

控制台上的输出是这样的:

数据是
repr(数据)是'\ x00\x00\x00\x01'

我想将这个基本上包含4个字节数字的字符串转换为int - 或者实际上是C中的长字符串.如何将此数据对象转换为我可以轻松管理的数值?

gri*_*eve 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]
Run Code Online (Sandbox Code Playgroud)