如何使用 Python 3 'translate' 将字符串中的所有 unicode 代码转换为实际符号?
How can I 'translate' all unicode codes in a string to the actual symbols using Python 3?
我正在解析网页内容以将新闻文章的正文与某个站点隔离开来,为此我使用 urllib.request 来检索文章网页的源代码并隔离主要文本。但是,urllib 接受像“ç”这样的字符,并将其作为它的 utf-8 表示法 "c387" 放入 python 字符串中。它对“”和“„”字符执行相同的操作,它们打印为 'e' 后跟一组数字。这在尝试阅读文章时非常烦人,因此需要解决。我可以遍历这篇文章并使用繁琐的函数将每个可识别的 utf-8 代码更改为实际字符,但我想知道是否有一种方法可以更轻松地做到这一点。
例如,我程序的当前输出可能是:
e2809eThis country doesn't...e2809d
我希望它是:
„This country doesn't...”
注:网页源码我已经查过了,就是用了这'special'个字符,肯定是urllib的问题
提前致谢!
urllib returns 字节:
>import urllib
>url = '
>data = urllib.request.urlopen(url).read()
>type(data)
bytes
>idx = data.index(b'characters like')
>data[idx:idx+20]
b'characters like "\xc3\xa7"'
现在,让我们尝试将其解释为 utf-8:
>data[idx:idx+20].decode('utf-8')
'characters like "ç"'
瞧瞧!
我正在解析网页内容以将新闻文章的正文与某个站点隔离开来,为此我使用 urllib.request 来检索文章网页的源代码并隔离主要文本。但是,urllib 接受像“ç”这样的字符,并将其作为它的 utf-8 表示法 "c387" 放入 python 字符串中。它对“”和“„”字符执行相同的操作,它们打印为 'e' 后跟一组数字。这在尝试阅读文章时非常烦人,因此需要解决。我可以遍历这篇文章并使用繁琐的函数将每个可识别的 utf-8 代码更改为实际字符,但我想知道是否有一种方法可以更轻松地做到这一点。
例如,我程序的当前输出可能是:
e2809eThis country doesn't...e2809d
我希望它是:
„This country doesn't...”
注:网页源码我已经查过了,就是用了这'special'个字符,肯定是urllib的问题
提前致谢!
urllib returns 字节:
>import urllib
>url = '
>data = urllib.request.urlopen(url).read()
>type(data)
bytes
>idx = data.index(b'characters like')
>data[idx:idx+20]
b'characters like "\xc3\xa7"'
现在,让我们尝试将其解释为 utf-8:
>data[idx:idx+20].decode('utf-8')
'characters like "ç"'
瞧瞧!