Python学习Day8

01字符编码
1.计算机系统分为三层:
    应用软件
    操作系统
    硬件
    
2.
    文本编辑器读一个文件的三个过程:
        1.先启动文本编辑器
        2.文件编辑器会将文件内容读入内存
        3.将读入内存的内容显示到屏幕上
        
    Cpython解释器执行一个py文件的三个过程:
        1.先启动python解释器
        2.python解释器会将py文件的内容当中普通的文本内容读入内存
        3.开始解释执行刚刚读入内存的代码,识别python语法
        
3.字符编码
    字符编码指的是字符转换成/编码成数字
    编码的过程一定要遵循一个标准,该标准称之为字符编码表
    
    字符-------编码--------》数字
    字符《-----解码----------数字
    
    1.    ASCII表:只能识别英文字符,用8bit对应一个英文字符
        1个英文字符=====》1Bytes
        
    2.    GBK表:可以识别中文字符、英文字符,用8bit对应一个英文字符,用16个bit对应一个中文字符
        1个英文字符===》1Bytes
        1个中文字符===》2Bytes
        
    3.    unicode(内存中默认使用该编码):用2Bytes表示一个字符
        1.可以识别万国字符
        2.与各种字符编码的二进制数字都有对应关系
        
    4.utf-8全称Unicode Transformation Format:
        1个英文字符====》1Bytes
        1个中文字符====》3Bytes

结论:
    1.编码与解码
        字符-------编码--------》数字
        字符《-----解码----------数字
        
        unicode二进制-------编码--------》utf-8二进制
        unicode二进制《-----解码----------utf-8二进制
        
    2.内存中固定使用unicode编码,我们可以改变的是数据由内存刷到硬盘时采用的编码(应该采用utf-8)
        unicode的特点:
        1.可以识别万国字符
        2.与各种字符编码的二进制数字都有对应关系
        
    3.解决乱码问题的核心:
        1.字符当初以什么编码存的,就应该以什么编码去读
        2.保证运行python程序的前两个阶段不乱吗的解决方案:添加文件头
                                    在文件首行添加#coding:文件当初存的字符编码
    
    4.python解释器默认的编码
        python3:默认utf-8
        python2:默认ASCII
        
    5.
        python3的字符串类型在内存中存成unicode格式的二进制
        
    
        

 

posted on 2018-11-27 17:20  鲨鱼辣椒L  阅读(115)  评论(0编辑  收藏  举报

导航