Python-字符编码

结论:
  1.内存固定使用unicode,我们可以改变的是存入硬盘采用格式
    英文+汉字--->unicode--->gbk
    英文+日文--->unicode--->shift-jis
    万国字符--->unicode--->utf-8

  2.解决文件存取乱码问题

    存乱了:解决方法是,硬盘编码格式应该设置成支持文件内字符串的格式
    取乱了:解决方法是,文件是以什么编码格式存入硬盘的,就应该以什么编码格式读入内存

  3.python解释器默认读取文件的编码

    python3默认:utf-8
    python2默认:ASCII

    指定文件头修改默认的编码:
    在py文件的首行写:
      #coding:gbk #指定的编码是当初文本编译器存取到硬盘所采用的编码格式,与py文件首行指定的一致。py编译器读取才不会乱码
      #coding:gbk 管的是读内容,存内容是编辑器的编码

  4.保证运作python程序前两个阶段不乱码的核心法则:
    指定文件头
    #coding:gbk #指定的编码是当初文本编译器存取到硬盘所采用的编码格式,与py文件首行指定的一致

  5.python3的str类型默认直接存成unicode格式,无论如何都不会乱码

    保证python2的str类型不乱码
    x=u"上"

  6.了解

    python2解释器有两种字符串类型:str、unicode
    #str类型
    x="上"  #字符串值会按照文件头指定的编码格式存储字符串类型的值的(如果文件头中没有指定编码,那么解释器会按照它自己默认的编码方式来存储‘上’)
    # unicode类型
    x=u"上" #强制存成unicaode

 

posted @ 2020-08-10 09:56  梁博客  阅读(50)  评论(0)    收藏  举报