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

      

      字 符 编 码

    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格式的二进制

  • 相关阅读:
    scp 利用 ssh 协议 复制文件
    linux (fedora 28) 制作启动U盘,启动盘
    nc 命令使用详解
    env :让系统决定你命令的位置
    tali -f 和 tail -F 之间的区别
    斯诺克台球比赛规则 (Snooker)
    中式台球 规则 ( ChinaBilliards )
    美式九球比赛规则 (Nine-ball)
    Tmux 使用教程 on Fedora 28
    python 3.6 的 venv 模块
  • 原文地址:https://www.cnblogs.com/zhangxin-/p/10009748.html
Copyright © 2011-2022 走看看