在使用tokenizer.tokenize()时候会遇到UnicodeDecodeError的问题,因为默认情况下,Python采用的是ascii编码方式,如下所示:
python -c
"import sys; print sys.getdefaultencoding()"
ascii
而Python在进行编码方式之间的转换时,会将 unicode 作为“中间编码”,但 unicode 最大只有 128 那么 长,所以这里当尝试将 ascii 编码字符串转换成”中间编码” unicode 时由于超出了其范围,就报出了如上错误。
网上找到以下解决办法:
直接改为tokenizer.tokenize(string.decode(‘utf-8’))
我们将Python的默认编码方式修改为utf-8
import sys
defaultencoding =
'utf-8'
if sys.getdefaultencoding() != defaultencoding:
reload(sys)
sys.setdefaultencoding(defaultencoding)