内容简介:python2.x编码问题实例
python字符串包括str 和 unicode,可以通过type(s)确定是str还是unicode
str可以继续细分为各种编码例如utf-8/GBK等
python内部则都通过unicode处理,如下图:
如果是str,可以继续通过chardet.detect(s)确定编码类型
结合type(s),和chardet.detect(s),实验str字符串结果如下:
#coding:utf-8
1)s1 = '人生' # s1是str,类型是utf-8
2)s1 = '人生'.encode('gbk') # 报错,原因是 python 实际执行了s = '中文'.decode('asc-ii').encode('gbk'),而ascii不支持中文
3)s1 = '人生'.decode('utf-8').encode('utf-8') # s1是str,类型是utf-8,转换过程是utf-8、unicode、utf-8
4)s1 = '人生'.decode('utf-8').encode('gbk') # s1是str,类型是gbk, 转换过程是 utf-8、unicode、gbk
5)s1 = u'人生' # s1是unicode
6)s1 = '人生'.decode('utf-8') # s1是unicode
7)s1 = unicode('人生' , 'utf-8') # s1是unicode,内部先转成str('utf-8'),再转成unicode,后面的'utf-8'改成'gbk'也行,如果不写则是通过defaultencoding转换
另外,1和3在pycharm正常打印中文,但是在windows环境下乱码,原因是windows是gbk编码,同理4正好相反,pycharm乱码但是windows正常。5、6、7在两个环境下都能正常打印中文,原因是python unicode会自动转换成环境的编码
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 编码、摘要和加密(一)——字节编码
- 新媒体编码时代的技术:编码与传输
- MySQL数据库字符编码总结--数据传输编码
- PHP 开发者学 Golang 之 URL 编码 (Urlencode)、解编码 (Urldecode)
- ios平台实现视频H264硬编码及软编码(附完整demo)
- Python 中文编码
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
ANSI Common Lisp
Paul Graham / Prentice Hall / 1995-11-12 / USD 116.40
For use as a core text supplement in any course covering common LISP such as Artificial Intelligence or Concepts of Programming Languages. Teaching students new and more powerful ways of thinking abo......一起来看看 《ANSI Common Lisp》 这本书的介绍吧!