我正在使用pdftotext
选项“-enc utf-8 -htmlmeta -raw”并将其传递给解析输出的python脚本。(即使您不熟悉 pdftotext,也请继续阅读,因为这可能不相关。)
对于我们正在处理的一些 pdf,pdftotext 正在输出如下所示的元数据:
<meta name="CreationDate" content="<FE><FF>">
在python中,我正在这样做(基本上):
attrib[name] = content.decode('utf-8')
上述元数据中的字符串在content
哪里。<FE><FF>
Python引发了一个异常:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xfe in position 0: unexpected code byte
在这一点上,我不确定问题是 PDF 本身,还是 pdftotext 的输出,还是 Python 解释 utf-8 的方式。
我用谷歌搜索并没有发现任何结论。
本质上,我希望pdftotext -enc utf-8
只输出有效的utf-8。我希望 Python 在解码时能够理解如何处理该 utf-8。我缺少其中的某些部分吗?
我将不胜感激任何帮助理解为什么会发生这种情况,并帮助解决方案。
谢谢!