zoukankan      html  css  js  c++  java
  • 字符编码和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.
    优点:不会乱码

  • 相关阅读:
    智能手表如何救人一命?
    人工智能、机器学习和认知计算入门指南
    PO VO BO DTO POJO DAO的解释
    web UI框架推荐
    面向切面编程AOP
    阿里巴巴java开发规范
    如何理解Spring IOC
    HTML5 3D旋转图片相册
    JSON总结笔记
    轮播图---可以动态添加图片,(封装成一个函数)
  • 原文地址:https://www.cnblogs.com/793564949liu/p/11534254.html
Copyright © 2011-2022 走看看