我有這樣的代碼錯誤的字符集後應用re.sub()
import chardet, re
content = "Бланк свидетельства о допуске."
print content
print chardet.detect(content)
content = re.sub(u"(?i)[^-0-9a-zа-яё«»\&\;\/\<\>\.,\s\(\)\*:!\?]", "", content)
print content
print chardet.detect(content)
和輸出
Бланк свидетельства о допуске.
{'confidence': 0.99, 'encoding': 'utf-8'}
� � .
{'confidence': 0.5, 'encoding': 'windows-1252'}
什麼,我做錯了什麼?如何在re.sub()之後獲得uft-8 str? (Python 2.7,# coding: utf-8
,UTF-8文件,IDE Pycharm)。
謝謝。
您試圖在原始字節上使用正則表達式嗎?您在*字節*上操作,而不是字符,每個輸入字符都由2個字節組成。 – 2013-04-21 11:35:21
以及我如何獲得UTF-8? – 2013-04-21 11:37:21
什麼是期望的輸出? – unutbu 2013-04-21 11:56:49