[英]How do I decode an image/pdf file properly in python3
我正在發送文件,如下所示。
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')但沒用
嘗試使用codecs
打開文件。
import codecs
f = codecs.open(filepath, encoding="ISO8859-1")
當我使用API上傳PDF文件時為我工作。
無需解碼。 您以二進制模式讀取和發送文件,因此以二進制模式寫入接收的文件。 encode
/ decode
用於將Unicode文本與二進制表示形式相互轉換。
with open(output_filename,'wb') as f:
f.write(data)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.