zoukankan      html  css  js  c++  java
  • Python字符编码

    day7

    字符编码

    一、计算机系统的分层:

      计算机系统分为三层:硬件、操作系统、应用软件

    二、文本编辑器读取文件 vs 串CPython解释器读取文件

    1、文本编辑器:

      a、先启动文本编辑器;

      b、文件编辑器会将文件内容读入内存;

      c、将读入内存的内容显示到屏幕上。

    2、CPython解释器:

      a、先启动python解释器;

      b、python解释器会将py文件的内容当中普通的文本内容读入内存;

      c、开始解释执行刚刚读入内存的代码,识别python语法。

    三、字符编码

      字符编码指的是字符转换成/编码成数字

      编码的过程一定要遵循一个标准,该标准称之为字符编码表

      字符--------编码--------》数字

      字符《--------解码--------数字

      字符编码表的发展史:

    #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二进制

    1. 内存中固定使用unicode编码,我们可以改变的是数据由内存刷到硬盘时采用的编码(应该采用utf-8)

      unicode的特点:

      a、可以识别万国字符

      b、与各种字符编码的二进制数字都有对应关系

    1. 解决乱码问题的核心:

      a、字符当初以什么编码存的,就应该以什么编码去读

      b、保证运行python程序的前两个阶段不乱码的解决方案:添加文件头

      在文件首行添加#coding:文件当初存的字符编码

    1. python解释器默认的编码:

      a、python3:默认utf-8

      b、python2:默认ASCII

      5、python3的字符串类型在内存中存成unicode格式的二进制。

  • 相关阅读:
    嵌入式和就业(转)
    [转] 电子技术·笔记1(9月份)
    ERP系统
    Win7 启动修复
    A1pass大大对黑客学习的建议
    你凭什么能过上你想要的生活?
    Hacker需要掌握的基础
    Hacker学习发展流程图
    硬盘SMART参数解释
    u盘的一些理解
  • 原文地址:https://www.cnblogs.com/peng-zhao/p/10009307.html
Copyright © 2011-2022 走看看