python编码

python2 在文件头部加    # -*- coding:utf8 -*-  才能解析中文,python 3 不需要
   

原因:python2默认用AsciLL,8位,最多表示256  
                      

                       ascill           00000000   8位表示
                        unicode     至少用16位表示,(万国码)
                        utf8             能用多少表示就是用多少表示,全球通用,一个中文占用3个字节
                        gbk              专门用于中文,一个中文占用2个字节

image

总结:由于计算机刚开始在美国兴起,所有表示都是英文,所以出现ascill码,随着计算机在全球普及,

各国都需要用到,ascill已经不能满足其需求,就出现uicode,俗称万国码,基本哪个国家都能用,但是它至少

占用16位,太浪费内存,后来就有UTF8的出现,UTF8的优势很明显,既能满足各国的需要,又不浪费内存,

能用多少表示就用多少表示。gbk是专门为中国人使用的。

python2默认是ascill码,所以有中文的情况下,一定要在文件的头部加:  # -*- coding:utf8 -*- 

对于一个有思想的人来说,没有地方是荒凉而遥远的
原文地址:https://www.cnblogs.com/quanag/p/9628994.html