zoukankan      html  css  js  c++  java
  • python第八天

    字符串编码

    什么是字符串编码

    计算机只认识0和1(高低电平),用户输入的字符计算机并不认识,想要让计算机认识这些就要通过编码将字符串翻译成0和1

    这中转换的过程就叫做字符编码

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

    文本编辑器 --》 写文本 --》 存储信息

    显示屏(内存) --》(转换)硬盘

    #ASCII码的转换关系
    print(chr(65))
    print(ord('a'))
    

    早期,各个国家只能使用各个国家的计算机

    这个时候就出现了unicode编码,Unicode编码可以识别所有国家的编码

    硬盘中无论躺着什么格式的编码文件,unicode都可以识别,假设你看日本的片子,从硬盘中读取fuck编码,然后unicode识别,unicode帮你转换成gb2312,解决了乱码的问题,用unicode存

    Unicode存储占用太多空间,所以出现了utf-8(和Unicode一一对应) 解决了Unicode内存占用的问题

    内存中unicode取,存用utf8存(硬盘),全世界的人写代码/写文件都是用utf8

    **

    为什么内存中不用utf8?

    因为utf8和gb2312都没有转换关系,所有内存要用Unicode

    gb2312和gbk的区别

    gb2312 是中国早1期的编码,其中为常用词

    gbk 是后期完善的,包含了中文的所有字

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

    用什么编码写,就用什么编码读,否则会出现乱码

    编码和解码

    unicode编码 ---》(编码) utf8 从内存到硬盘

    utf8 --》(解码) unicode 从硬盘到内存

    现在内存只有unicode编码

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

    1、python解释器相当于文本编辑器,先把代码读入python解释器--》字符编码》上coding头

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

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

    终端有一个特性:电脑是什么编码,就会按照什么编码来,Windows终端是gbk

    代码如果出了编码错误,首先加 # - coding:utf8 -

    python2和python3的编码区别

    python2

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

    python2默认用ASCII读取字符

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

    假设python2用unicode存储,终端接受的是unicode,windows终端编码不管是什么都不会乱码

    # 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存储,不管终端编码是什么,都不会乱码

  • 相关阅读:
    stream流
    python笔记:str.contains小坑之 UserWarning To actually get the groups, use str.extract.
    获取excel的行索引值
    Pandas学习(4、数据载入、存储及文件格式
    python中如何压缩和解压缩文件
    保持服务器屏幕可控制状态
    python判断文件和文件夹是否存在、创建文件夹
    PDF处理
    selenium+python配置chrome浏览器的选项
    python实现复制粘贴
  • 原文地址:https://www.cnblogs.com/lyyblog0715/p/11536437.html
Copyright © 2011-2022 走看看