zoukankan      html  css  js  c++  java
  • 字符编码

    程序执行的三大核心硬件:

    CPU,内存,硬盘

    正常执行一个程序的要点:

     1.将硬盘中的数据读取内存

     2.由cpu读取内存中的数据进行执行

     3.在执行程序时,生成的数据优先存入内存

    python解释器执行一个py文件过程:

    如果么有python解释器,py文件就是一个文本文件,执行py文件,先执行python解释器

    1)将python解释器的代码由硬盘读入内存

    2)再将py文件以普通文本文件格式由硬盘读入内存

    3)python解释器去内存读取py文件的数据

    4)识别python语法,执行相应的操作

    ps:任意的文本编译器执行,前面两步一样

    字符:是世界上一切的文字,语言

    将人类的文字,存入内存和硬盘中:

    人类字符 ——》 字符编码表——》计算机二进制

    字符编码表

    ASCII码表 (美)

    用八位二进制来代表一个英文字符

    八位二进制,最多表示255位

    八位二进制 = 8bit

    8 bit = 1 bytes

    1024B =1MB

    1024MB = 1G

    1024GB = 1TB

    1024TB = 1PB

    GBK(中)

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

    shift(日本)

    fuck(韩国)

    unicode: 万国码

       为了兼容所有的国家的字符

      所有的字符都是用2bytes

    缺点:

    1.占用存储空间

    2.io次数增加,程序运行速度变慢

    utf8

    只用Unicode对应:

    所有的英文字符用一个bytes表示:

      中文 用三个bytes

    在unicode二进制数据存入硬盘的时候,做优化:

    现在的计算机:

    内存:unicode

    硬盘:uft-8

    (内存)Unicode二进制——》编码(encode)——》硬盘utf-8二进制字符

    硬盘utf-8二进制字符——》解码(decode)——》unicode二进制

    保证不乱码的核心:

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

    1.用户不论输入的是什么字符,存入内存,unicode都可以兼容

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

    数据传输:

    优先以自己本国的语言

    python2:

      默认的字符编码ASCII码

    python3:

    默认的utf-8

    文件头:

      # coding = utf—8

      用英文字符,是为了让所有的计算机都可以识别

    pycharm默认的字符编码:

    utf-8

    中国的windows操作系统默认字符编码:

    gbk

    x = '你好美'                         
    res = x.encode('utf-8')           
    print(res)                        
    res1 = res.decode('utf-8')        
    print(res1)                       
    
    
    b'xe4xbdxa0xe5xa5xbdxe7xbex8e'
    你好美

     

  • 相关阅读:
    Android 按键消息处理Android 按键消息处理
    objcopy
    SQLite多线程读写实践及常见问题总结
    android动画坐标定义
    Android动画效果translate、scale、alpha、rotate
    Android公共库(缓存 下拉ListView 下载管理Pro 静默安装 root运行 Java公共类)
    Flatten Binary Tree to Linked List
    Distinct Subsequences
    Populating Next Right Pointers in Each Node II
    Populating Next Right Pointers in Each Node
  • 原文地址:https://www.cnblogs.com/godlover/p/11813148.html
Copyright © 2011-2022 走看看