zoukankan      html  css  js  c++  java
  • python之路--day6--字符编码

    一.知识储备
    cpu--控制和运算
    内存--暂时存储cpu需要的数据
    硬盘--永久保存数据
    2.文本编辑器的原理存储原理
    1,启动文本编辑器
    2,在编辑器上输入内容---此时输入内容还在内存上
    3,保存到硬盘
    结论:在编写py程序的时候,没有语法的限制,编辑的结果和编写
    一个普通的文本文件没有任何区别,只有把py程序交给python解释器解释
    并执行的第三个阶段才有意义
    3.python解释器执行python程序的原理
    python3 test.py
    第一阶段:先启动python解释器这个软件
    第二阶段:把test.py文件的内容读入内存
    第三阶段:解释执行,识别语法
    4.文本编辑器读取原理
    1.编辑器向操作系统发送请求
    2.操作系统将数据从硬盘中取出,并在内存中加载
    3.应用程序通过操作系统将内容打印出来

    二.什么是字符编码
    字符编码就是把人类的语言翻译为计算机能够理解的二进制的过程
    翻译的过程遵循的原则--字符编码表(字符与二进制数一一对应的关系)

    字符编码的发展:
    ASCII 码:只能表示英文字符,一个英文字符占用1字节
    GBK:中文定制的编码表,2个字节表示中文,1个字节表示英文
    unicode:(内存中固定的编码)--2个字节表示一个字符
    uft-8:unicode的升级版本,解决了unicode浪费内存空间的问题
    1字节表示一个英文字符,3字节表示一个中文字符

    三.保证不乱码的核心:
    文件以什么编码存在,就必须以什么编码读取
    强调:我们可以控制的只是存在硬盘上的编码

    python3解释器:默认utf——8编码
    python2解释器:默认ascii编码

    文件头的作用:
    #coding:utf-8 告诉解释器,使用我指定的字符编码

    四.执行python程序第三个阶段发生的事
    会识别python语法,定义的字符串类型涉及到字符编码的概念

    例子:
    x='上' #x=str('上')
    python2:
    字符串分为两种形式
    x='上' #python2的str类型会按照文件头指定的编码来存'上'

    python3:
    str:默认被存为unicode

    五,转换 unicode和其他编码之间的转换

      unicode---编码encode---》utf-8
      utf-8---解码decode---》unicode
      

      python3中str是以unicode编码形式存放的

      x='你好'
      x.encode('utf-8') ----> bytes类型
      bytes.decode('utf-8')------------->str(unicode)字符串类型
      
      3、bytes类型的用途:
      1、存放到文件中
      2、基于网络传输
  • 相关阅读:
    git clone失败
    矩阵相乘
    pandas中关于DataFrame 去除省略号
    Linux系统清除缓存
    Git 远程仓库 更新url
    看不到git远程分支
    c++
    undefined reference to symbol' pthread_create@@GLIBC_2.2.5'
    ssh 与远程机器保持心跳(linux)
    python 读取文件第一列 空格隔开的数据
  • 原文地址:https://www.cnblogs.com/guodengjian/p/8625291.html
Copyright © 2011-2022 走看看