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格式的二进制

  • 相关阅读:
    GTK+ 3.6.2 发布,小的 bug 修复版本
    RunJS 新增 Echo Ajax 测试功能
    Mozilla 发布 Popcorn Maker,在线创作视频
    Sina微博OAuth2框架解密
    Mina状态机State Machine
    Mozilla 发布 Shumway —— 纯JS的SWF解析器
    Code Browser 4.5 发布,代码浏览器
    ROSA 2012 "Enterprise Linux Server" 发布
    ltrace 0.7.0 发布,程序调试工具
    Artifactory 2.6.5 发布,Maven 扩展工具
  • 原文地址:https://www.cnblogs.com/huangchaonan/p/10009380.html
Copyright © 2011-2022 走看看