python为什么不能打中文
python下默认的编码方式是ASCII编码,如果是对中文进行处理就要采用其他的编码方式例如utf-8,这一般会在代码的第二行指定。
python内部使用的是Unicode编码,所以如果涉及到搜索匹配判断中文字符串时要转换成unicode编码形式
print type('你好')? ?这个会打印出来是‘str’类型 print type(u'你好')? 打印出来是unicode类型
用repr()可以看到这两种情况下的输出,print repr('你好')? 会输出'xe4xbdxa0xe5xa5xbd',这个是utf-8编码;print repr(u'你好') 输出的是u'u4f60u597d'。?
由于python内部只能处理unicode编码,所以如果操作中文字符串时如果不转换成unicode编码那么会遇到问题,例如下面代码并不能输出想要的'你好',这是因为s和t全部都是utf-8编码,遍历的时候也是按照utf-8编码中的元素进行
来源:PY学习网:原文地址:https://www.py.cn/article.html