python入门(二):字符的编码

来源:互联网 发布:唐缺 知乎 编辑:程序博客网 时间:2024/06/01 07:52

1.ASCLL编码只使用7位(128种取值)用于字母,符号,阿拉伯数字等,没有中文字符所以出现GB2312,GBK,GB18030的中文编码

2.显然ASCLL码无法无法将各种文字和符号全部表示,所以出现了可以代表所有字符和符号的编码,即Unicode(最少两个字节)

3.UTF-8是对Unicode编码的压缩和优化,不再使用两个字节而是对所有字符和符号进行分类:ascill码中的内容用一字节保存,欧洲的字符用两字节保存,东亚的字符用三个字节保存

4.

.

4.文件编码,IDE环境的编码,系统编码

   (1)代码中字符串编码与代码文件本身编码一致,例如, 'Cuihua翠花' 如果是在gbk 文件中,就是gbk编码,在utf-8文件中就是utf-8编码

   (2) 如果在代码中定义name = 'Cuihua翠花',则为Unicode编码(内部编码) ,不论你在IDE环境设置的是UTF-8,GBK

    (3)name类型为str,linux系统下系统默认编码为utf8编码,s在输出前就应该编码为utf8。如果s为gbk编码就应该这样输出。print s.decode('gbk').encode('utf8')才能输出中文。

                                    window下面情况相同,window默认编码为gbk编码,所以s输出前必须编码为gbk。
                                    python处理中一般处理unicode类型。

在pycharm中定义一个name,这里的编码方式即为unicode

name = 'Cuihua翠花'print(name.encode('utf-8'))print(name.encode('gbk'))

b'Cuihua\xe7\xbf\xa0\xe8\x8a\xb1'
b'Cuihua\xb4\xe4\xbb\xa8'

原创粉丝点击