当前位置: 首页 > 知识库问答 >
问题:

在python中读取pdf文件时,编解码器出现unicode错误

养枫涟
2023-03-14

我正在尝试阅读包含以下内容的pdf文件:

%PDF-1.4\n%âãÏÓ

如果我打开它,它可以工作,但是如果我尝试使用编解码器.open(文件名,编码=“utf8”,mode=“rb”)来获取unicode字符串,我得到了以下异常:

UnicodeDecodeError: 'utf8' codec can't decode byte 0xe2 in position 10: invalid continuation byte

您知道从此文件的内容中获取 unicode 字符串的方法吗?

PS:我使用的是蟒蛇 2.7

共有2个答案

居京
2023-03-14

尝试将任意二进制数据解释为文本的问题是,0xe2是拉丁语-1,而不是UTF-8。您使用了错误的编解码器。

西门建安
2023-03-14

PDF是由二进制数据而不是文本组成的。它们不能有意义地表示为Unicode字符串。

值得一提的是,您可以通过将PDF视为ISO8859-1文本来获得包含这些特定字符的Unicode字符串:

f = codecs.open(filename, encoding="ISO8859-1", mode="rb")

但在这一点上,您最好只使用普通的open并读取字节。Unicode用于文本,而不是数据。

 类似资料:
  • 问题内容: 我尝试在我的python脚本中使用matplotlib,但在终端中遇到此错误: 这是我的python代码,我只是写了 我需要做什么? 问题答案: 问题是您当前的工作目录中有一个非ASCII字符。 实际上,这根本不应该是一个问题,但这是由于其他因素的组合: 想要在当前工作目录中查找覆盖默认目录的本地文件。 Python认为您使用的是C语言环境,而不是Ubuntu 14应该默认使用的漂亮的

  • 我试图读取CSV文件,但它抛出了一个错误。我无法理解我的语法有什么问题,或者我是否需要向我的read_csv添加更多属性。 我试了一下这个解决办法 UnicodeDecodeError:“utf-8”编解码器无法解码位置21中的字节0x96:起始字节也无效。但它不起作用 [错误] UnicodeDecodeError回溯(最近一次调用)pandas/_libs/解析器。大熊猫中的pyx_图书馆。解

  • 我目前正在学习Python,遇到了以下错误: 这是我的代码: 为什么会出现这种情况?

  • 我正在尝试使用以下代码在Spyder中读取带有tabla py的PDF文件: 但是,当我运行此命令时,会出现以下错误: CalledProcessError:命令“['java','-Dfile.encoding=UTF8','-jar','tabla-jar路径','-pages','1','-guess',PDF文件路径']'返回非零退出状态1。 通过升级到Java8,类似的问题也得到了解决,

  • 问题内容: 我正在运行一个程序,正在处理30,000个类似文件。他们中有随机数正在停止并产生此错误… 这些文件的源/创建都来自同一位置。纠正此错误以继续导入的最佳方法是什么? 问题答案: 可以选择处理不同格式的文件。我主要使用,或者替代地阅读,并且通常用于。 您还可以使用而不是的多个选项(请参阅python docs,也可能会遇到许多其他编码)。 请参阅相关的文档, 有关文件的文档示例以及有关SO

  • 问题内容: 这个问题已经在这里有了答案 : Python中的Windows路径 (5个答案) 4年前关闭。 追溯(最近一次通话): 产品中的文件“”,第1行= pd.read_csv(’C:\ amazon_baby.csv’) 在parser_f中的第562行的文件“ C:\ Users \ kvsn \ Anaconda3 \ lib \ site-packages \ pandas \ io