【发布时间】:2019-02-01 07:19:51
【问题描述】:
我正在尝试打开一个包含 Unicode 字符 (é) 的 URL。
当我直接在函数中编写它时,出现此错误:
from urllib.request import urlopen
uClient = urlopen("https://www.mypage.net/céline")
>>> UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 14: ordinal not in range(128)
当我这样写它时,它可以工作:
from urllib.request import urlopen
uClient = urlopen("https://www.mypage.net/cr%C3%A9line")
但它应该以自动方式工作,因此使用编码输出如下:
没有:https://www.mypage.net/c�line
utf-8: b'https://www.mypage.net/c\xc3\xa9line
latin-1: b'https://www.mypage.net/c\xe9line
ascii: b'https://www.mypage.net/cline
所以问题是如何将字符串“https://www.mypage.net/céline”转换成urlopen函数可以使用的东西?
我正在使用 ATOM-Editor 和 Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] on win32
谢谢!
【问题讨论】:
标签: python unicode python-3.6 urlopen