我按如下方式發送文件。如何在python3中正確解碼圖像/ pdf文件
with open(file,'rb') as f:
rh=f.read()
我們把它我使用
sock.sendto(rh, (ip,port))
當接收我試圖解碼此如下。
dat = sock.recvfrom()
data=dat.decode('ascii')
然後我寫這個文件。這在文本文件的情況下工作得很好。但如果我發送和接收圖像/ PDF文件,我得到這個錯誤..
File "code.py", line 16, in <module>
data=dat.decode('ascii')
UnicodeDecodeError: 'ascii' codec can't decode byte 0x89 in position 41: ordinal not in range(128)
我無法找出這裏有什麼問題。我也用過dat.decode('utf-8')但沒有用
爲什麼要使用任何編碼解碼二進制文件? –
雖然試圖發送文件我編碼它,並在接收端我寫這個文件,所以我猜我應該解碼它,然後再試圖寫它。 –
你在哪裏編碼? –