• 字符编码


    字符编码

    三大核心硬件

    1. ​ cpu
    2. ​ 内存
    3. ​ 硬盘

    python解释器执行文件的流程:

    1. 将python解释器的代码由硬盘读到内存
    2. 将py文件以普通文本文件的格式由硬盘读到内存
    3. Python解释器去内存中读取py文件的数据
    4. 识别python语法,执行相应操作

    ASCII码表 美国

    ​ 用八位二进制来表示一个字符 (所有英文字符+符号一共大概128左右)

    最多表示255位

    八位二进制 = 8bit

    1024 bytes = 1KB

    1024KB= 1MB

    1024MB= 1GB

    1024GB = 1TB

    1024TB = 1PB

    GBK(中国)

    用2个bytes 来代表一个字符,兼容英文字符

    万能码:

    ​ unicode

    为了兼容所有的国家的字符,生成Unicode

    ​ 所有字符都用2bytes

    缺点:1、占用内存空间

    ​ 2、io次数增加,程序运行速度变慢(最致命)

    utf-8:

    utf-8只与unicode 有对应关系

    ​ 所有的英文字符用1个bytes表示

    ​ 所有的中文字符用3个bytes表示

    重点:

    1. 用户无论输入什么字符,存入内存,都可以兼容

    2. 硬盘中无论是什么编码,读到内存,都可以兼容unicode

      数据传输时,优先以自己的本国字符编码进行传递

    必须掌握:

    (内存)unicode 二进制字符>>> 编码(encode) >>> (硬盘)utf -8 二进制字符

    (硬盘)utf-8 二进制字符 >>> 解码(decode) >>> (内存) unicode 二进制字符

    保证不乱码核心

    ## 用什么编码存的数据,就用什么编码取
    

    python 2:

    默认字符编码是ascii码

    python3:

    默认字符编码utf - 8

    pycharm 默认字符编码是:utf-8

    windows操作系统默认字符编码:gbk (中国地区)

  • 相关阅读:
    STM32——项目需求之低功耗的停机模式
    sscanf函数——强大的C语言库函数
    二级指针偏移
    RTX基础教程目录
    #pragma pack(push) 和#pragma pack(pop) 以及#pragma pack()
    Write thread-safe servlets [reproduced]
    C++程序员如何转Java
    How to implement equals() and hashCode() methods in Java[reproduced]
    The Java Enum: A Singleton Pattern [reproduced]
    VS Code
  • 原文地址:https://www.cnblogs.com/127-2933/p/11867906.html
Copyright © 2020-2023  润新知