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、基于网络传输
  • 相关阅读:
    HTML5 向网页嵌入视频和音频
    HTML5中History.back()页面后退刷新页面
    阻止表单的默认提交事件
    SQL Server 2008带字段注释导入Power Designer 9.5
    CodeSmith将模板文件批量生成文件的方法(转)
    Nhibernate学习心得
    邮件发送代码
    Json的一些了解
    有关js的一个问题
    在IIS上启用Gzip压缩(HTTP压缩)
  • 原文地址:https://www.cnblogs.com/guodengjian/p/8625291.html
Copyright © 2011-2022 走看看