今天的博客主要关于字符编码,并对前几天学习的数据类型做些总结。

学习字符编码的目的:解决乱码问题。

应用程序打开文本文件的三步骤
  1.打开应用程序
  2.将数据加载到内存中
  3.cpu将内存中的数据直接翻译成字符显示给用户

数据 从 硬盘 => 内存 => cpu

python解释器
  1.打开python解释器
  2.将数据加载到内存中
  3.cpu将内存中的数据解释执行将结果显示给用户,如何解释执行不能通过,将错误信息提供给用户

编码的发展史

电脑只能识别高低电频对应的0,1信息 => 问题:如何将世间万物信息存放到内存中
  世间万物信息 => 0,1形式的数据 => 电脑中存放,将该过程逆向操作,就是访问已存储的数据信息

编码表
  人能识别的字符 <=> 机器能识别的字符:一定存在一种固定的对应关系
  编码表:一定范围内人能识别的字符与机器能识别的字符形成的对应关系表(映射表)

ASCII表:英文字母、英文符号、数字与机器能识别的字符的对应关系表,8个二进制位就能存放完这所有的对应关系 => 1字节
                  python2采用的默认编码是ASCII,早期并不支持中文编程

1.GBK:中文与与机器能识别的字符的对应关系表(完全兼容ASCII表),16个二进制位能存放所有汉字与ASCII之前的对应关系 => 2个字节
                2个字节能否存放常用汉字 => 16个二进制位 2^15

2.Shift_JIS | Euc-kr:日文 | 韩文 与机器能识别的字符的对应关系表(完全兼容ASCII表)

乱码:存的编码格式与取的编码格式不一致。因此出现了Unicode万国码:常用国家的常用字符与机器能识别的字符的对应关系表。

转码:Unicode存在汉字与二进制对应关系,GBK也存在汉字与二进制对应关系,将GBK存放的数据转存到Unicode数据

均采用Unicode编码表,只是存放数据采用字节数不一致,utf-8与utf-16是Unicode编码表的两种体现方式
      utf-8:以1个字节存放英文,以3 | 6个字节存放汉字,在英文数据过多时,更深空间,用来传输效率更高
      utf-16:所有支持的符号都采用2个字节存放,读存数据采用定长,不用计算,读存效率高

硬盘到内存需要数据的传输,内存到CPU需要数据的传输,所有都采用utf-8
  内存需要高速读写,采用utf-16

初学python之路-day07-字符编码的更多相关文章

  1. 小白的Python之路 day1 字符编码

    字符编码 python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill) ASCII(American Standard Code for Information Interc ...

  2. Python之路 day2 字符编码及转换

    #!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa import sys print("sys default encodin ...

  3. 小白的Python之路 day2 字符编码和转码

    字符编码和转码 详细文章: http://www.cnblogs.com/yuanchenqi/articles/5956943.html http://www.diveintopython3.net ...

  4. python之旅:字符编码

    一 了解字符编码的知识储备 一 计算机基础知识 知识储备:cpu.内存.硬盘 二 文本编辑器存取文件的原理(nodepad++,pycharm,word) #1.打开编辑器就打开了启动了一个进程,是在 ...

  5. python基础——6(字符编码,文件操作)

    今日内容: 1.字符编码: 人识别的语言与机器识别的语言转化的媒介 *****     2.字符与字节: 字符占多少字节,字符串转化 ***     3.文件操作: 操作硬盘中的一块区域:读写操作  ...

  6. python文件操作:字符编码与文件处理

    一.字符编码 二.文件处理 一.字符编码 储备知识点: 1. 计算机系统分为三层: 应用程序 操作系统 计算机硬件 2. 运行python程序的三个步骤 1. 先启动python解释器 2. 再将py ...

  7. python学习之路_字符编码

    字符编码及python中的转码问题,这篇博客讲的比较清楚,python 之路,致那些年,我们依然没搞明白的编码

  8. python标准库之字符编码详解

    codesc官方地址:https://docs.python.org/2/library/codecs.html 相关帮助:http://www.cnblogs.com/huxi/archive/20 ...

  9. python之路--day6--字符编码

    一.知识储备 cpu--控制和运算 内存--暂时存储cpu需要的数据 硬盘--永久保存数据2.文本编辑器的原理存储原理 1,启动文本编辑器 2,在编辑器上输入内容---此时输入内容还在内存上 3,保存 ...

随机推荐

  1. [洛谷P1392] 取数

    无法用复杂状态进行转移时改变计算方式:巧妙的整体考虑:压缩空间优化时间 传送门:$>here<$ 题意 给出一个n*m矩阵,从每一行选一个数加起来,可以得到一个和.易知总共会有$n^n$个 ...

  2. Linux keepalived+lvs实现高可用负载均衡

    LVS的具有强大的负载均衡功能,但是它缺少对负载层节点(DS)的健康状态检测功能,也不能对后端服务(RS)进行健康状态检测:keepalived是专门用来监控高可用集群架构的中各服务的节点状态,如果某 ...

  3. ubuntu mirror

    # apt-mirror configuration file ## The default configuration options (uncomment and change to overri ...

  4. (十三)事件分发器——event()函数,事件过滤

    事件分发器——event()函数 事件过滤 事件进入窗口之前被拦截 eventFilter #include "mywidget.h" #include "ui_mywi ...

  5. ES 常用的查询语句介绍

    elasticsearch定义了两种查询方式: 一.索引(index).type.document 相关语句 1.列出所有索引的状态 GET /_cat/indices?v health status ...

  6. 网络&协议目录

    HTTP [基础] HTTP入门学习 网络基础 数据传输 网站架构演化 连接管理 缓存 [组成] URL 报文起始行 报文首部 [结构] Web服务器 代理 网关.隧道和中继 [安全] Web攻击技术 ...

  7. windows 7 命令修改IP地址

    netsh interface ip set address "本地连接"  static 172.17.15.97 255.255.255.0 172.17.12.1

  8. 3DMAX中坐标解析

    World:世界坐标系,又称世界空间.位于各视口左下角的图标,显示了世界坐标系的方向,其坐标原点位于视口中心.该坐标系永远不会变化. Screen:屏幕坐标系,此时将使用活动视口屏幕作为坐标系.在活动 ...

  9. [译]asp-net-core-mvc-ajax-form-requests-using-jquery-unobtrusive

    原文 全文源码 开始项目 项目使用了package.json'文件,添加需要的前端package到项目中.在这我们添加了jquery-ajax-unobstrusive`. { "versi ...

  10. [C++] const与指针的关系

    首先快速复习一些基础. 考虑下面的声明兼定义式: int p = 10; p的基础数据类型是int. 考虑下面的声明兼定义式: const int a = 10; a的基础数据类型是int,a是一个常 ...