2010-07-07 23 views

回答

1

unicode()是一個Python內建,不BeautifulSoup的一部分。請參閱docs here

unicode([object[, encoding[, errors]]])

如果編碼和/或錯誤中給出, 的unicode()將解碼的對象,該對象 可以是一個8位的串或使用該編解碼器爲 一個 字符緩衝區編碼。編碼參數是給出編碼名稱的 字符串; 如果編碼是未知的, 引發LookupError。錯誤處理 根據錯誤完成;這個 指定了在輸入 編碼中無效的字符 的處理。如果錯誤是「嚴」(的 默認),一個ValueError上引發 錯誤,而「忽略」 會導致錯誤的值被忽略, 和「替換」的值會導致 官方Unicode替換 字符U + FFFD,用於 替換不能被解碼的輸入字符 。另請參閱編解碼器 模塊。

如果您未指定編碼,則默認使用sys.getdefaultencoding()

+0

類型可以通過實現特殊['__unicode__()'](http://docs.python.org/reference/datamodel.html#object.__unicode__)方法來覆蓋'unicode()'。如果一個類型實現了這個方法,''unicode()'builtin只是返回這個方法的結果,而一個類型基本上可以從這個方法返回任何想要的結果。所以OP中調用的結果實際上取決於'BeautifulSoup'類的實現。 – lunaryorn 2010-07-07 07:35:51

+1

好點。有誰知道BeautifulSoup是否會覆蓋內置函數? – 2010-07-07 07:55:07