簡體   English   中英

如何使用 Python 3 將字符串中的所有 unicode 代碼“翻譯”為實際符號?

[英]How can I 'translate' all unicode codes in a string to the actual symbols using Python 3?

我正在解析 web 內容以將新聞文章的正文與某個站點隔離,為此我使用 urllib.request 來檢索文章網頁的源代碼並隔離正文。 但是,urllib 將“ç”之類的字符作為其 utf-8 表示法“c387”放入 python 字符串中。 它對 '"' 和 "„" 字符執行相同的操作,它們打印為 'e' 后跟一組數字。 這在嘗試閱讀文章時非常煩人,因此需要解決。 我可以循環閱讀這篇文章,並使用繁瑣的 function 將每個可識別的 utf-8 代碼更改為實際字符,但我想知道是否有辦法更輕松地做到這一點。

例如,我的程序當前的 output 可能是: e2809eThis country doesn't...e2809d

我希望它是: „This country doesn't...”

注意:我已經檢查了 web 頁面的源代碼,它只是使用了這些“特殊”字符,所以這絕對是一個 urllib 問題。

提前致謝!

urllib 返回字節:

>import urllib
>url = 'https://stackoverflow.com/questions/62085906'
>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 "ç"'

瞧!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM