我在python2中执行了socket通信,它工作得很好,我必须让它再次在python3中工作。我累了结构编码()很多格式的东西,但网络的另一端无法识别我发送的内容。我唯一知道的是python3str类型在默认情况下被编码为Unicode uft-8,我非常确定这里的关键问题是python2 str type的格式是什么。我必须发送与python2 str中存储的内容完全相同的内容,但棘手的是python3的套接字只发送编码的unicode字节或其他缓冲区接口,而不是python2中包含原始数据的str类型。示例如下:
在Python2中:data = 'AA060100B155'
datasplit = [fulldata[i: i+2] for i in range(0, len(fulldata), 2)]
senddata = ''
for item in datasplit:
itemdec = chr(int(item, 16))
senddata += itemdec
print(senddata)
#'\xaa\x06\x01\x00\xb1U',which is the data I need
在python3中,它似乎只能使用发送数据.encode(),但这不是我想要的格式。你可以试试:
^{pr2}$
要了解两个senddatas的区别,有趣的是使用utf-8时它编码错误。在
我需要的是python3str类型中存储的数据,但我的问题是如何在不编码的情况下发送该字符串的数据?或者如何在Python3中执行相同的str类型的Python2?在
有人能帮我吗?在