编码样式
l ASCII编码:美国标准代码,将各种东西(英文字母,数字,标点,字符)换成计算机识别的二进制数,一共265个字符,不支持汉字
l Unicode:全球所有字符的编码,但是没有规定的保存方式,65----》A
l ANSI:一般跟系统语言有关系
l GBK编码:汉字编码,进行了扩展,包含生僻字,存储编码
l GB2312:汉字处理,比较少,存储编码
l UTF-8:表示把unicode编码存储的时候,把一个汉字或者其他字符,保存为3个字节
完全兼容ascii码的256个字符;
l UTF-32:保存为4个字节,很占内存
l UTF-16:保存为2个字符
备注:最理想的文字处理方式是用utf8存储和传输,程序读到内存里面用utf32处理。
python3 字节字符串和文本字符串
字节字符串和文本字符串的定义:
字节字符串(bytes):二进制数据用bytes表示,bytes表示的是一堆的比特位

文本字符串(str):文本用unicode表示
2、文本字符串和字节字符串的转换
str(文本)-----(encode)------bytes(字节)
bytes(字节)----(decode)-----str(文本)
3、在Python3中,输入的中文,type显示是str类型,实际上默认是为unicode类型
它相当于在Python2中输入的u“中国”,因此在Python3中文本是没有decode属性的。
4、在python3中,输入一个中文二步走:
1)输入 #coding=utf-8
2)直接输入中文就可以了
5、总结Python2和python3中的不同
s=“中国”
py2:相当于Python3中的bytes类型,所以如果想真正显示中文,需要转换成unicode,需要decode以下变为unicode,然
后进行打印操作,
py3:在py3中,s=“中国”为unicode类型, 此时相当于py2中的s=u“中国”直接打印就可以是中文,所以在python3中,中
文的输入变得很简单。
关于编辑器的默认编码
1、在dos下,默认编码为“gbk”
在dos下,输入的代码如果是gbk或者是unicode编码,都能够准确的识别出来
2、在pycharm或者文本文件中,可以默认为编码为utf-8模式,如果需要将中文显示出来,可以为unicode或者utf-8模式
py2中输出中文的三部曲:1、代码开头输入:#coding=utf-8
2、文件保存为utf-8编码格式,在文件中的中文字符串需要使用u,转换成unicode类型
3、特殊例子:raw_input("请输入一句话".decode("utf-8").encode("gbk")),因为dos环境默认是gbk环境,所以gbk下可以识别出来
py3 中输出中文2部曲:
1、代码开头:#coding=utf-82、文件保存为utf-8编码格式,在文件中的中文直接输入就可以