2012-04-10 20 views
0

我用這個:如何轉換 '[' 到 '[' 使用Python

title=title.replace(u'【',u'[').replace(u'】',u'[') 

但是錯誤:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal not in range(128) 
+1

您需要告訴我們'title'中的含義 – 2012-04-10 00:58:33

回答

1

Ignacio發佈的鏈接非常棒,請仔細閱讀。

大'['是在CJK字符集中,這裏的人可能沒有安裝正確的字體來渲染它。所以我用大膽的[來表示它。

如果您不在乎直接使用Python中的編碼字符串,但這是非常不推薦的,只是「.replace('[','[')」使用字符串而不是unicode。

如果你想,實際上你應該使用unicode來操作Python中的文本,你需要確保你使用的所有文本都是由.decode(string_encoding)統一編碼的。另外,在sitecustomize.py中將您的全局默認編碼設置爲'utf-8',這將使系統自動爲您執行.decode('utf-8')

4

這是因爲title不在首位unicodeDecode before using it.

+0

@jsbueno,或許您可以解釋答案的錯誤,而不是僅僅說錯了? – 2012-04-10 01:58:50

+0

@ jsbueno:[WRRRRRROOOOOOOOOOOOOOONNNNNNGGGGGGGGGG !!!!!!!!!!!!](http://codepad.org/Wq0PLl7b) – 2012-04-10 02:05:23

1

你需要title是一個Unicode對象,而不是STR對象

如。

title = title.decode("utf-8") # or whatever encoding title is using