字符编码

字符编码
        字符编码:字符转换成/编码数字,
            编码的过程一定要遵循一个标准,该标准称之为字符编码表
            
            字符---编码---》数字
            字符《---解码---数字
            
            
        文本文件:文件内写的是字符的文件
                
        ········1.先启动文本编辑器、
                2.文件编辑器将文件内容读入内存
                3.将读入内存的内容显示到屏幕上python解释器读一个文件的三个过程
                                        
        python解释器执行一个python文件的三个过程

                1.先启动文本编辑器、
                2.python解释器将文件内容读入内存
                3.解释执行刚刚存入内存的代码,识别python语法

            ASCII只有英文字符与数字的对应关系
            8个byt对应一个英文字符
            1个英文字符对应一个bytes
            
            GBk表:只能识别中文字符和英文字符
            用16个2进制位 一个英文===》1bytes
                          一个中文===》2个bytes

            Unicode:(内存中默认识别该编码)用2个bytes表示一个字符
            1.可以识别万国字符
            2.与各种字符编码的二进制数字都有对应关系
            UTF-8:为了弥补Unicode不足之处,Unicode转换版本
            一个英文===》1bytes
            一个中文===》3个bytes
            
            字符---编码---》数字
            字符《---解码---数字
            Unicode二进制======编码======》utf-8二进制
            Unicode二进制《=====解码====== utf-8二进制
            
            
        结论:1.编码与解码
                字符---编码---》数字
                字符《---解码---数字
                Unicode二进制======编码======》utf-8二进制
                Unicode二进制《=====解码====== utf-8二进制
              2.内存中固定使用Unicode,我们可以改变的是数据由内存刷到硬盘时采用的编码(采用UTF-8)
              3.1.可以识别万国字符
                2.与各种字符编码的二进制数字都有对应关系
              4.解决乱码的核心:
                字符最初以什么编码存在的,就应该以什么编码去读
                保证运行python程序的前两个阶段不乱码的解决方案:
                    1.添加文件头    在文件首行添加#coding:文件当初存的字符编码
                    2.
              5.python解释器默认utf-8
              python3 utf-8
              python2 ASCII
              python3 的字符串类型在内存里面存成Unicode
              python2 的字符串类型在内存里面存成文件头设置格式,否则以默认格式存储
              #coding:gbk 字头
              
              优先使用python3编写代码
              python2写代码时候 字符串需要在前面加u防止乱码

posted @ 2018-11-27 14:38  yyf1  阅读(174)  评论(0编辑  收藏  举报