Python3缓冲区/字节操作
我必须编写与服务器通信的代码: 服务器将向我发送一个指针。然而,由于socket.recv()的性质,这个指针是一种奇怪的类型,我真的不知道如何使用它。我想要的是能够从返回的指针中添加或减去任意地址,并将它们发送回。由于指针的性质,字节必须完全正确Python3缓冲区/字节操作,python,python-3.x,byte,Python,Python 3.x,Byte,我必须编写与服务器通信的代码: 服务器将向我发送一个指针。然而,由于socket.recv()的性质,这个指针是一种奇怪的类型,我真的不知道如何使用它。我想要的是能够从返回的指针中添加或减去任意地址,并将它们发送回。由于指针的性质,字节必须完全正确 在过去的一个项目中,我已经使用了字节(字符串“utf-8”),但是这确实把处理这些数据搞砸了。我花了很长时间才弄明白,问题出在编码上,而不是我的输入:如果你想把一个bytes()解析成你可以做算术运算的东西,你可以做 import struct a=
在过去的一个项目中,我已经使用了字节(字符串“utf-8”),但是这确实把处理这些数据搞砸了。我花了很长时间才弄明白,问题出在编码上,而不是我的输入:如果你想把一个
bytes()
解析成你可以做算术运算的东西,你可以做
import struct
a=b'\xca\xfe\xba\xbe' # let's say I just received these bytes
struct.unpack(">I", a)
# -> (3405691582,)
struct.unpack(">I", a)[0]
# -> 3405691582
hex(struct.unpack(">I", a)[0])
# -> '0xcafebabe' - exactly what I expected.
要了解另一种方法以及如何将其应用于网络通信,我将留给您作为练习。从服务器向客户端发送指针到底有什么用?客户端将如何处理该指针?你想复制心脏出血吗?