• 字符编码和python2与python3的区别


    文本编辑器存储信息的过程

    文本编辑器-->>写文本-->>存储信息-->>显示屏(内存)-->>硬盘(转换)-->>各个国家的编码
    由于各个国家都要用计算机,所以各个国家都设定了一套自己的编码.
    由于各个国家的编码是不互通的,这时候就出现了一个unicode编码,他可以识别大多数国家的编码,所以也叫万国编码.
    又因为Unicode编码的占内存问题,所以又出现了UTF-8,UTF-8只和Unicode一一对应,也解决了Unicode占内存的问题.
    现在所有电脑都是:内存中用Unicode取,用UTF-8存入硬盘,全世界的人写代码都是用UTF-8.

    内存为什么不用UTF-8?

    因为UTF-8和各个国家的编码不互相识别,因此内存用Unicode.

    用什么编码写,就用什么编码读

    如果用UTF-8写,读的时候用GBK,那就会造成乱码.

    编码和解码

    Unicode编码-->>(编码)UTF-8从内存到硬盘
    UTF-8-->>(解码)Unicode从硬盘到内存
    现在内存只有Unicode编码

    python解释器(文本编辑器)解释python代码的流程

    1.python解释器相当于文本编辑器,把代码读入python解释器-->>字符编码-->>python2默认是ascill,python3默认是UTF-8-->>上coding头
    2.识别代码-->>print()有意义-->>语法问题
    3.产生结果-->>跑到终端-->>字符编码

    终端有一个特性:你的电脑是什么编码,就按照什么编码来,Windows终端是GBK
    代码出了编码错误,首先加: #coding:UTF-8

    python2和python3的编码区别

    python2

    python有两种存储变量的形式:
    1.Unicode;
    不会乱码
    2.按照coding头来定.
    如果终端接收的编码和终端自带的编码不同的话,会乱码.

    python3

    python3只有一种存储变量的形式,Unicode.
    优点:不会乱码

  • 相关阅读:
    Oracle 验证A表的2个字段组合不在B表2个字段组合里的数据
    jQuery方法一览
    Maven构建项目时index.jsp文件报错
    DDL——对数据库表的结构进行操作的练习
    不经意的小错误——onclick和click的区别
    UML基础——统一建模语言简介
    基于UML的面向对象分析与设计
    数据结构之——树与二叉树
    UML类图几种关系的总结
    C3P0连接参数解释
  • 原文地址:https://www.cnblogs.com/793564949liu/p/11534254.html
Copyright © 2020-2023  润新知