我编写了一些代码,用于在客户端将图像转换为十六进制,然后将十六进制值发送到服务器。在服务器端,此十六进制将转换为二进制,并将二进制值写入文件。但是我没有得到相同的图像。生成的图像根本不可见。
客户端:
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)
编辑
如果我使用“打印二进制文件”来打印“ 二进制文件”,那么我得到的输出为ÿØÿà
这是怎么回事?请帮忙。
答案 0 :(得分:0)
将1024(接收数据的长度)更改为已发送数据的长度将解决此问题。