";UnicodeDecodeError:'utf-8'编解码器可以't解码位置249



在此代码中:

subprocess.getoutput('./pdftotext file.pdf -')

我也试过UTF-16:

subprocess.check_output('./pdftotext file.pdf -', shell=True, encoding='utf-16')

PDF来自https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf,但我在另一个PDF中看到了相同的错误(带有另一个字节值(。

这个来自Mozilla的PDF在没有Python的情况下使用纯Bash表现良好。

我还尝试了参数universal_newlines=True,例如:

return subprocess.run(
'./pdftotext file.pdf -',
shell=True,
stdout=subprocess.PIPE,
universal_newlines=True
).stdout

Lambda上的Python 3.6。

用iconv"Filter"输出-忽略错误:

subprocess.getoutput('./pdftotext file.pdf - | iconv --to-code utf-8//IGNORE')

请随意添加您的答案——只是对其他解决方案和问题的根源感到好奇。

尝试下一个代码:

return subprocess.run(
'./pdftotext file.pdf -',
shell=True,
stdout=subprocess.PIPE,
universal_newlines=True,
encoding='your encoding',
errors='ignore', # 'ignore' or 'replace'
).stdout

更多关于:https://docs.python.org/3/library/stdtypes.html#bytes.decodehttps://docs.python.org/3/library/codecs.html#error-处理程序

相关内容

  • 没有找到相关文章

最新更新