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

    1、计算机系统分为三层

    应用软件

    操作系统

    硬件

    2、文本编辑器、cpython执行一个文件的三个过程

    1)、启动文本编辑器

    2)、 文本编辑器会将文件内容读入内存

    3)、将读入内存的内容显示到屏幕上

    cpython启动文件的三个过程

    1)、启动python解释器

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

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

    3、字符编码

    1)、字符编码是指将字符转换成/编码成数字

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

    字符--------->编码-------------->数字

    字符<--------解码<--------------数字

    ①、ASCLL表只能识别英文字符,用8bit对应一个英文字符

    1个英文字符=1Bytes

    ②、GBK表可以识别中文字符,英文字符,用8bit对应一个英文字符,用16bit对应一个中文字符

    1个英文字符=1Bytes

    1个中文字符=2Bytes

    ③、unicode(内存默认使用该编码)用2Bytes=一个字符

    1)、可以识别万国字符

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

    ④、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格式的二进制
  • 相关阅读:
    C#生成静态两方法
    ASP.NET C# 生成静态页面简单方法
    sql日期格式化
    Div+Css+JS做多个显示/隐藏内容块
    Request获取url各种信息的方法
    asp.net遍历页面所有的按钮(或控件)
    Donews.com:SpyMac.com也提供了1G的Email.
    再见 Swagger UI!国人开源了一款超好用的 API 文档生成框架,Star 4.7K+,真香!!
    面试官:new Object[5] 一共创建了几个对象?
    面试官:select......for update 会锁表还是锁行?别答错了!
  • 原文地址:https://www.cnblogs.com/liushen1995/p/10016120.html
Copyright © 2011-2022 走看看