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


    1. 计算机系统分为三层:

    应用软件
    操作系统
    硬件

    2.
    文本编辑器读一个文件的三个过程:
    1. 先启动文本编辑器
    2. 文件编辑器会将文件内容读入内存
    3. 将读入内存的内容显示到屏幕上

    Cpython解释器执行一个py文件的三个过程:
    1. 先启动python解释器
    2. python解释器会将py文件的内容当中普通的文本内容读入内存
    3. 开始解释执行刚刚读入内存的代码,识别python语法






    3. 字符编码
    字符编码指的是字符转换成/编码成数字
    编码的过程一定要遵循一个标准,该标准称之为字符编码表

    字符--------编码--------》数字
    字符《--------解码--------数字





    1. ASCII表:只能识别英文字符,用8bit对应一个英文字符
    1个英文字符====>1Bytes


    2. GBK表:可以识别中文字符、英文字符,用8bit对应一个英文字符,用16个bit对应一个中文字符
    1个英文字符====>1Bytes
    1个中文字符====>2Bytes


    3. unicode(内存中默认使用该编码):用2Bytes表示一个字符
    1. 可以识别万国字符
    2. 与各种字符编码的二进制数字都有对应关系


    4. utf-8全称Unicode Transformation Format:
    1个英文字符====>1Bytes
    1个中文字符====>3Bytes



    结论:
    1、 编码与解码
    字符--------编码--------》数字
    字符《--------解码--------数字

    unicode二进制========编码========》utf-8二进制
    unicode二进制《=======解码=========utf-8二进制


    2. 内存中固定使用unicode编码,我们可以改变的是数据由内存刷到硬盘时采用的编码(应该采用utf-8)
    unicode的特点:
    1. 可以识别万国字符
    2. 与各种字符编码的二进制数字都有对应关系


    3. 解决乱码问题的核心:
    1. 字符当初以什么编码存的,就应该以什么编码去读
    2. 保证运行python程序的前两个阶段不乱码的解决方案:添加文件头
    在文件首行添加#coding:文件当初存的字符编码



    4. python解释器默认的编码
    python3:默认utf-8
    python2:默认ASCII



    5.
    python3的字符串类型在内存中存成unicode格式的二进制

  • 相关阅读:
    hdu6325 /// 上凸包
    hdu6315 /// 线段树区间更新
    hdu6311 /// 欧拉路径 无向图最小路径覆盖 输出正反路径
    Codeforces Round #535 F-MST Unification
    HDU4405 Aeroplane chess (概率DP,转移)
    ZOJ 3329 One Person Game(概率DP,求期望)
    poj3744 (概率DP+矩阵快速幂)
    “美登杯”上海市高校大学生程序设计 E. 小花梨的数组 (线段树)
    关于标记的一些事~~
    关于C(n,m) 的奇偶 ,与C(n,0),C(n,1),C(n,2)…C(n,n).当中有多少个奇数
  • 原文地址:https://www.cnblogs.com/huangchaonan/p/10009380.html
Copyright © 2011-2022 走看看