python编码

Posted 全爱国

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 -*- 

以上是关于python编码的主要内容,如果未能解决你的问题,请参考以下文章

linux之系统编码,python编码,文件编码

python3读文件编码错误怎么办

python抓网页的编码问题

python编码的问题

python ACSII编码问题

python字符串编码