一、什么是\xa0
\xa0 是不间断空白符
我们通常所用的空格是 \x20 ,是在标准ASCII可见字符 0x20~0x7e 范围内。
而 \xa0 属于 latin1 (ISO/IEC_8859-1)中的扩展字符集字符,代表空白符nbsp(non-breaking space)。
latin1 字符集向下兼容 ASCII ( 0x20~0x7e )。通常我们见到的字符多数是 latin1 的,比如在 MySQL 数据库中。
这里也有一张简陋的Latin1字符集对照表。
二、解决方法
如果在window下运行,原因:
对于Unicode字符,需要print出来的话,由于本地系统是Windows中的cmd,默认codepage是CP936,即GBK的编码,所以python解释器需要先将上述的Unicode字符编码为GBK,然后再在cmd中显示出来。但是由于该Unicode字符串中包含一些GBK中无法显示的字符,导致此时提示“’gbk’ codec can’t encode”的错误的。
解决方法
在转换的时候必需进行一些前置动作
string.replace(u’\xa0’, u’ ‘)
将’\xa0‘替换成u’ ‘空格,这个\xa0就是那个html中的&nbps空格
在python3中的解决方法,
可以参考:https://blog.youkuaiyun.com/u013066244/article/details/53057411
参考:
https://www.cnblogs.com/BlackStorm/p/6359005.html
https://blog.youkuaiyun.com/circle2015/article/details/52994042?locationNum=12&fps=1