我有一組看起來包含以UTF-8和ISO-8859-1編碼的字符的文檔。我希望他們只是UTF-8編碼。如何在Python中處理UTF-8和ISO-8859-1字符的混合?
當我需要的文檔,並使用doc.decode('utf-8')
我最終喜歡\u2022
一些Unicode轉義序列進行譯碼後,UTF-8,但我也有很多像\xa0
人物,我認爲是ISO-8859-1。我想將它們轉換爲它們的unicode等價物,因此所有事物都愉快地生活在一起。這可能嗎?我使用Python 2.74。
有一件事我所做的是這樣的:
decoded_doc = doc.decode('utf-8')
new_doc = decoded_doc.replace(u'\xa0',u' ')
,但也有像\xb7
其他奇怪的字符 - 我想他們都一舉。
沒有「UTF-8字符」這樣的東西。 UTF-8是*編碼*。 –
U + 00A0是NO-BREAK SPACE; U + 00B7是MIDDLE DOT。這些是普通的Unicode字符:沒有必要嘗試將它們轉換爲「Unicode等價物」。 –
@Gareth Rees我明白了...所以只是因爲轉義序列不是以'\ u'開頭並不意味着這些不是unicode? –