我写了一些代码在客户端将图像转换为十六进制,然后将十六进制值发送到服务器。在服务器端,此十六进制将转换为二进制,并将二进制值写入文件。但是我没有得到相同的图像。结果图像完全不可见。

客户端:

with open('1.jpg',"rb") as f:

    contents = f.read()

    contentss = binascii.hexlify(contents)

    s.send(contentss)


服务器端:

data = c.recv(1024)

binary = binascii.unhexlify(data)

f = open('1server.jpg',"wb")

f.write(binary)


编辑

如果我使用“打印二进制文件”来打印“二进制文件”,则输出为ÿØÿà

这是怎么回事请帮忙。

最佳答案

将1024(接收数据的长度)更改为已发送数据的长度将解决此问题。

07-27 18:47