编码样式

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表示的是一堆的比特位
Python3 ---编码问题
  文本字符串(str):文本用unicode表示
Python3 ---编码问题
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,然
               后进行打印操作,
              Python3 ---编码问题
py3:在py3中,s=“中国”为unicode类型, 此时相当于py2中的s=u“中国”直接打印就可以是中文,所以在python3中,中
        文的输入变得很简单。
        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下可以识别出来

Python3 ---编码问题

Python3 ---编码问题

py3 中输出中文2部曲:

1、代码开头:#coding=utf-8

2、文件保存为utf-8编码格式,在文件中的中文直接输入就可以

Python3 ---编码问题

Python3 ---编码问题


      


相关文章: