• 字符编码


    储备知识点:

      1、计算系统可以分为三层:

        应用程序层

        操作系统

        计算硬件

      2、运行Python程序的三个步骤:

        1.先启动Python解释器

        2.再将Python文件当做普通的文本文件读入内存

        3.解释执行读入内存的代码,开始识别语法。

    字符编码

    1、什么是字符编码?

      字符编码表,将是人类使用的字符与数字一一对应,方便计算的处理与认识。

      1Bytes = 8bit  一个字节等于8个二进制位

      字符编码表的发展 

      ASCII码:只能识别英文字符,1英文字符=8bit
      用8个二进制bit(比特位)位表示一个英文字符


      GBK:能识别汉字与英文,1汉字=16bit,1英文字符=8bit
      Shift_JIS
      Euc-kr

      unicode:能够识别万国字符,1字符=2Bytes=16bit
      两大特点:
        1. 能够兼容万国字符
        2. 与各个国家的字符编码都有映射关系
        utf-8:是unicode的转换格式,1个英文字符=1Bytes 1汉字=3Bytes

    重点:

      1、编码和解码的概念:

        字符(输入的内容)----编码----》Unicode的二进制(内存中状态)------编码----》gbk的二进制(硬盘中存储的状态)

        gbk的二进制(硬盘中存储的状态)-----解码-----》Unicode的二进制(内存的状态)------解码----》字符(输出的内容)

      2、解决乱码的核心方法

        字符用什么编码格式编码的,就应该用什么编码格式进行解码。上面两条编码和解码都相同。

        结论在,需要在py文件,文件头定义好。#coding:需要的使用的字符编码。

      3、python解释器默认的字符编码
        python2:ASCII
        python3:UTF-8

      文件头设定在Python解释器中的作用

        通过文件头可以修改python解释器默认使用的字符编码在文件首行写:#coding:文件当初存的时候用的字符编码

        针对python2解释器中定义字符串应该:x=u"上"

        对于python3解释即便是x="上"不加u前缀也是存成unicode

        在python3中

        x='上' # '上'内存中存成了uncidoe

        

        unicode--------encode----------->gbk
        res=x.encode('gbk') #res是gbk格式的二进制,称之为bytes类型

        gbk(bytes类型)-------decode---------->unicode
        y=res.decode('gbk') #y就是unicode

    需要掌握字符编码的操作::

      1. 编写python文件,首行应该加文件头:#coding:文件存时用的编码
      2. 用python2写程序,定义字符串应该加前缀u,如x=u'上'
      3. python3中的字符串都是unicode编码的,python3的字符串encode之后可以得到bytes类型

        

  • 相关阅读:
    Leetcode 33.搜索旋转排序数组
    Leetcode 32.最长有效括号
    Leetcode 31.下一个排列
    Leetcode 30.与所有单词相关联的子串
    Leetcode 25.k个一组翻转链表
    Leetcode 24.两两交换链表中的节点
    做数据分析需要“搞”人?
    求职互联网数据分析,如何准备行业知识?
    如何利用Social Listening从社会化媒体中“提炼”有价值的信息?
    运营实操|如何利用微信后台数据优化微信运营
  • 原文地址:https://www.cnblogs.com/msj513/p/9674534.html
Copyright © 2020-2023  润新知