繁体   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