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

    前置知识点:

          程序执行三大核心硬件:cpu,内存,硬盘

          执行一个程序:1.将硬盘数据读到内存

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

                 3.执行程序时生成的数据有限存入内存

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

                1.将py解释器的代码由硬盘读取到内存

                2.将py文件以普通文本文件的格式由硬盘读到内存

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

                4.识别python语法,执行相应程序

          ps:任何文本执行器前两步都一样

    字符编码:

          将人类字符存入内存和硬盘需要经历的过程:  字符====》字符编码表====》计算机二进制

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

                          0000 0000

                          1111  1111    最多只能表示255位

               八位二进制 = 8bit = 1bytes = 1/1024 kb = .........................................

      GKB(中国):用2个bytes来代表一个字符,兼容英文字符

                           0000 0000 0000 0000

                           1111  1111  1111  1111   最多可以表示65535位

      shift(日本):

      euc_kr()韩国;

      unicode(万国码):为了兼容所有国家的字符,所有字符都用2个bytes(缺点:1,,占用储存空间   2.增加io次数,程序运行变慢)

      utf -8:在unicode二进制数据存入硬盘时做优化而生成

          utf-8只与unicode关联

          所有英文字符用一个1bytes表示,中文字符用3个bytes表示

      必须掌握:1、(内存)unicode ======》编码(encode)======》(硬盘)utf-8二进制字符

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

                2、保证不乱码的核心:

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

      需要掌握:1、用户无论输入什么字符,存入内存,unicode都可兼容

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

      

  • 相关阅读:
    现代软件工程 第八章 【需求分析】练习与讨论
    现代软件工程 第七章 【MSF】练习与讨论
    现代软件工程 第六章 【敏捷流程】练习与讨论
    PPT演说技巧
    Mac上最强大的截图软件-xnip
    什么是函数倾轧(name mangling)?
    编程--在线提交系统(Online Judge)
    C++ 的多继承与虚继承
    C++ 中 string和char* 的区别
    编程语言中优先级与结合性
  • 原文地址:https://www.cnblogs.com/littleb/p/11814268.html
Copyright © 2011-2022 走看看