• day 008总结


    字符编码

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

    1.打开编辑器就和打开了启动了一个进程,是在内存中的,所以,用编辑器编写的内容也都是存放在内存中的,断电后数据丢失

    2.想要永久存储,需要点击保存按钮:编辑器把内存的数据刷到硬盘上

    3.在编写一个py文件,跟编写其他文件没有任何区别,都是再写一堆字符而已

    unicode

    早期,各个国家都有各个国家的编码,所以出现了unicode(一种对应关系)(在内存中)

    unicode可以认识所以的编码

    例如:

    ​ 硬盘中无论有什么格式的编码文件,Unicode都可以识别,假设我们需要看日本的文件,从硬盘中读取fuck编码,然后unicode识别,unicode把其转换成gb2312,解决了乱码的问题,随后用unicode存。

    utf8

    ​ 因为unicode存的时候占用了很多空间,所以出现了utf8(只和unicode一一对应),从而解决了unicode 内存占用的问题

    ​ 内存中是不用utf8的,因为utf8和gb2312等其他编码没有转换关系,所以内存都要用unicode.

    gb2312和gbk的区别

    gb2312-->常用字

    gbk-->所有字

    windows系统的记事默认编码是gbk,除此之外都是utf8

    乱码

    存文件时不乱码而读文件时乱码

    ​ 写用utf8,存用utf8,读用gbk

    存文件时就已经乱码

    ​ 写用utf8,存用gbk

    想要不乱码,用什么编码写,就用什么编码读

    编码和解码

    编码:unicode-->utf8 从内存到硬盘

    解码:utf8-->unicode 从硬盘到内存

    现在内存只有unicode编码

    python解释器 解释python代码的流程

    1.python解释器相当于文本编辑器,把代码读入python解释器中,随后字符编码(python2默认的是ascill,python3默认的是utf8)最后上coding头

    中文# gbk编码的中文
    

    2.识别代码——》print有意义--》语法问题

    # coding:gbk#告诉python解释器用gbk去完成第一步,读入字符
    

    3.产生结果--》跑到终端——》字符编码

    终端特性:电脑是什么编码,就按照什么编码来,window终端是gbk

    python2和python3编码的区别

    python

    python2有两种存储变量的形式,第一种:unicode;第二种:按照coding头来的

    假设python2用utf8存储x='中文',当你print(x)的时候,终端接收gbk的变量x,但是windows终端编码是utf8,会乱码

    假设python2用unicode存储,终端接受的是unicode,windows终端编码是utf8还是gbk重要吗?不会乱码

    # coding:gbk
    lt1 = '中文'  # utf存储的
    # lt1 = ['中文']  # []让他不用终端的编码转化,显示01010101001
    print lt1  # ['xe4xb8xadxe6x96x87']
    
    lt2 = u'中文'  # u'中文'让他变成unicode  # 早期用python2定义中文,必须得加上u,让他变成unicode存储
    # lt2 = [u'中文']
    print lt2  # '中文
    

    python3

    python3只有一种存储变量的形式,unicode

    python3用unicode存储,终端接受的是unicode,windows终端编码是utf8还是gbk不重要,不会乱码

    lt1 = '中文'  # == u'中文'
    print(lt1)
    

  • 相关阅读:
    第二周作业
    第二次作业
    第一周作业
    我的2018年终总结
    css总结
    python中使用selenium错误-Firefox浏览器
    postman中 form-data、x-www-form-urlencoded、raw、binary的区别
    谷歌地图API(一)
    2014新年开题
    图书馆管理系统-需求分析
  • 原文地址:https://www.cnblogs.com/zqfzqf/p/11534849.html
Copyright © 2020-2023  润新知