簡體   English   中英

如何在python3中正確解碼圖像/ pdf文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM