Python2中的str被识别为Bytes,所以Python2中的str是被编码后的结果,其实会默认做一件事,就是在str前面加一个u,先转换成Unicode,在encode成bytes
Python2中有两种字符串类型,str和Unicode,str可以通过在前面加个‘u'来转换成Unicode
2.python 3 的默认编码方式是utf-8,可以直接打开用utf-8保存的文件
Python3中的str被识别成Unicode
Python3中也有两种字符串类型(bytes和str),但bytes就是bytes,str是unicode
六、打印到终端
首先要知道,Windows的终端的默认编码方式是GBK
终端也是应用程序,是运行在内存中的,所以我们用print()打印的过程,是从内存中到内存中。所以对于unicode,怎么打印都不会出错,但是Python2中除了加‘u'的字符串外,其他的字符串是Bytes,此时终端中是GBK编码,而Python2中是指定的utf-8或者默认的ascii码时,在终端中打印就会出错。
这些是我目前的理解,如果我以后意识到错误或者有表述不清的地方,再来修改。唉,字符编码是个坑啊
以上就是详解Python中的字符编码的详细内容,更多请关注Gxl网其它相关文章!
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did82104