python(day06)

1. 字符编码
    1.计算机系统分为三层:
           (但凡是软件,最先运行的时候都会被读入内存)
        应用软件
        操作系统
        硬件
    2.
        **文本编辑器读一个文件的三个过程
            1.先启动文本编辑器
            2.文件编辑器会将文件内容读入内存
            3.将读入内存的内容显示到屏幕上
        ***Cpython解释器执行一个py文件的三个过程
            1.先启动python解释器
            2.python计时器会将py文件的内容当做普通文件读入内存
            3.python解释器开始解释执行内存的代码,识别python语句

    3.字符编码:
        字符编码指的是字符转换成/编码成数字
        编码的过程一定要准信一个标准,该标准称之为字符编码表

        字符===>数字(编码)
        数字===>字符(编码)
    4.如何使用字符编码表:
2. 文件处理
    文件操作的读写
    文件的打开模式



***(文本文件里面写的都是字符)***
***ASACII表:只有英文字符与二进制的对应关系
    ***(用8bit对应一个英文字符)***
***GBK表:可以识别中文字符和英文字符。
    ***英文字符:8bit对应一个英文字符
    ***中文字符:2Bytes 代表一个中文字符
            
***Unicode特点(内存中默认使用该编码),用2Byte表示一个字符
    1.可以识别万国字符(字符输入到内存使用的就是Unicode)
    2.与各种字符编码的二进制数字都有对应关系

***utf-8全称Unicode transformation Format:
    1个英文字符===>1bytes
    1个中文字符===>3bytes    
        字符===>数字(编码)
        数字===>字符(编码)
        Unicode二进制 ===> utf-8二进制(编码)
        utf-8二进制 ===>unicode二进制(解码)



#结论:
    1.编码与解码
      字符===>数字(编码)
      数字===>字符(编码)
      Unicode二进制 ===> utf-8二进制(编码)
      utf-8二进制 ===>unicode二进制(解码)
    
    2.内存中固定Unicode编码,我们可以改变的是数据由内存刷到硬盘时采用的编码(应该采用utf-8)
    
    unicode 的特点
        1.可以识别万国字符(字符输入到内存使用的就是Unicode)
        2.与各种字符编码的二进制数字都有对应关系    

    3.解决乱码问题的核心:
        字符当初以什么编码存的,就应该以什么编码去读
        保证运行python程序的前两个阶段不乱吗的解决方案:添加文件头,在文件首行添加#coding:文件当初存的编码

    4.python解释器默认的编码
        python3:默认utf-8
        python2:默认ASCII

    python3






猜你喜欢

转载自www.cnblogs.com/supcwi/p/10008741.html
今日推荐