python-3.x - Python 3:urllib 在尝试取消引用字符串时返回�字符
问题描述
我正在尝试取消引用通过 Selenium 从 href 检索到的字符串:
DOC.01-PROCURA%C7%C3O.pdf
当我尝试在 Python 3 中使用 urllib.parse.unquote 或 urllib.parse.unquote_plus 时,它们都返回以下内容:
'DOC.01-PROCURA��O.pdf'
我如何摆脱这些�字符?它应该返回DOC.01-PROCURAÇÃO.pdf
,因为 Selenium 下载了一个具有此文件名的 pdf 文件,我稍后将通过os.path.exists
.
解决方案
urllib.parse.unquote
默认解码为 UTF-8。在这种情况下,Windows-1252
有效:
>>> s = 'DOC.01-PROCURA%C7%C3O.pdf'
>>> urllib.parse.unquote(s,'Windows-1252')
'DOC.01-PROCURAÇÃO.pdf'
检查数据来自的页面的编码。
推荐阅读
- select - Erlang Mnesia select on an ordered_set 是否给出了 Erlang Term 顺序的列表?
- jquery - 如何使用 jQuery 按两列对表格进行排序?
- django - 如何创建具有特定区域的 Heroku 应用程序
- c++ - Int 到 ASCII 字符和 char 到 ASCII 数字 | C++
- python - 是否可以在 Tesseract 中提供时间模式?
- xcode - 我的颤振项目没有在 iOS 模拟器中打开
- python - 在特定时间段内过期的 Django 应用程序
- java - 在数组中,检查字符串是否相同,如果相同,则向上计数
- c# - 保存和加载 DataGridView 数据的最佳方式
- python - Python中的条件格式化字符串