一、了解字符编码的知识储备?

1、计算机基础知识?

  计算机中所有的软件文件(包括:操作系统)都存储在硬盘,启动计算机,计算机需要把系统文件都去到内存中。

  

2、文本编辑器存取文件的原理(nodepad++、pycharm、word)

  打开编辑器就启动了一个进程,是在内存中的,所以,用编辑器编写的内容也都是存放在内存中,断电后数据丢失。

  想要永久保存,需要把内存中的数据刷到硬盘上。

  编写一个py文件(没有执行),跟编写TXT文件一样,没有任何区别。都只是一堆字符而已。

3、python解释器解释py文件的原理,例如:python test.py

  第一阶段:python解释器启动,此时就相当于启动了一个文本编辑器。

  第二阶段:python解释器相当于文本编辑器,去打开test.py文件,从硬盘上将test.py文件的内容读取大内存中(pyhon的解释性只关心文件内容,不关心文件后缀名)

  第三阶段:python解释器解释执行刚刚加载到内存中的test.py的代码(在执行阶段,才会识别python语法,执行文件内代码,执行到name="张三",才会开辟内存空间存放字符窜"张三")

  总结python解释器与文本编辑器的区别:

  相同点:python是解释器是解释执行文件内容的,因而python解释器具备读取py文件的功能,这一点与文本编辑器一样。

  不同点:文本编辑器将文件内容读取内存后,是为了显示或者编辑文本内容,根本不会去理会执行python语法,而python解释器将文件内容读入内存后,是为了执行,会识别python语法。

二、什么是字符编码?

  计算机要想工作必须通电,即用‘电’驱使计算机干活,也就是说‘电’的特性决定了计算机的特性。电的特性即高低电平(人类从逻辑上将二进制数1对应高电平,二进制数0对应低电平),关于磁盘的磁特性也是同样的道理。结论:计算机只认识数字。

  很明显,我们平时在使用计算机时,用的都是人类能读懂的字符(用高级语言编程的结果也无非是在文件内写了一堆字符),如何能让计算机读懂人类的字符?

  必须经过一个过程:

  字符--------(翻译过程)------->数字

  这个过程实际就是一个字符如何对应一个特定数字的标准,这个标准称之为字符编码。

  以下两个场景下涉及到字符编码的问题:

  1. 一个python文件中的内容是由一堆字符组成的,存取均涉及到字符编码问题(python文件并未执行,前两个阶段均属于该范畴)

  2. python中的数据类型字符串是由一串字符组成的(python文件执行时,即第三个阶段)

Python之字符编码(一)的更多相关文章

  1. Python基础-字符编码与转码

    ***了解计算机的底层原理*** Python全栈开发之Python基础-字符编码与转码 需知: 1.在python2默认编码是ASCII, python3里默认是utf-8 2.unicode 分为 ...

  2. Python的字符编码

    Python的字符编码 1. Python字符编码简介 1. 1  ASCII Python解释器在加载.py文件的代码时,会对内容进行编码,一般默认为ASCII码.ASCII(American St ...

  3. Python常用字符编码(转)

    Python常用字符编码   字符编码的常用种类介绍 第一种:ASCII码 ASCII(American Standard Code for Information Interchange,美国信息交 ...

  4. Python常见字符编码间的转换

    主要内容:     1.Unicode 和 UTF-8的爱恨纠葛     2.字符在硬盘上的存储     3.编码的转换     4.验证编码是否转换正确     5.Python bytes类型 前 ...

  5. python 3字符编码

    python 3字符编码 官方链接:http://legacy.python.org/dev/peps/pep-0263/ 在Python2中默认是ascii编码,Python3是utf-8编码 在p ...

  6. Python 的字符编码

    配置: Python 2.7 + Sublime Text 2 + OS X 10.10 本文意在理清各种编码的关系并以此解决 Python 中的编码问题. 1 编码基本概念 只有先了解字符表.编码字 ...

  7. 转:Python常见字符编码及其之间的转换

    参考:Python常见字符编码 + Python常见字符编码间的转换 一.Python常见字符编码 字符编码的常用种类介绍 第一种:ASCII码 ASCII(American Standard Cod ...

  8. Python遇到字符编码出问题的一个相对万能的办法

    在使用Python做爬虫的过程中,经常遇到字符编码出问题的情况. UnicodeEncodeError: 'ascii' codec can't encode character u'\u6211' ...

  9. Python:字符编码详解

    相关文章 Python中文编码问题:为何在控制台下输出中文会乱码及其原理 1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Informati ...

  10. Python入门笔记(14):Python的字符编码

    一.字符编码中ASCII.Unicode和UTF-8的区别 点击阅读:http://www.cnblogs.com/kingstarspe/p/ASCII.html 再推荐一篇相关博文:http:// ...

随机推荐

  1. 玩nginx部署不同的web app

    需求:一台服务器上部署多个应用 ,比如www.host.com/app 映射到 www.host.com:8081 实现方法:1. nginx 使用把路径访问映射到端口上.但是遇到一个问题是web a ...

  2. electron 前端开发桌面应用

    electron是由Github开发,是一个用Html.css.JavaScript来构建桌面应用程序的开源库,可以打包为Mac.Windows.Linux系统下的应用. 快速开始 接下来,让代码来发 ...

  3. 利用TensorFlow实现多元线性回归

    利用TensorFlow实现多元线性回归,代码如下: # -*- coding:utf-8 -*- import tensorflow as tf import numpy as np from sk ...

  4. numpy中np.c_和np.r_

    np.r_:按列连接两个矩阵,就是把两矩阵上下相加,要求列数相等,类似于pandas中的concat() np.c_:按行连接两个矩阵,就是把两矩阵左右相加,要求行数相等,类似于pandas中的mer ...

  5. python while for else

    python的循环挺有意思 while和for体中可以带上else项 while中的else表示循环条件不成立时,去执行一次,也就是退出循环前去做一次 for中的else表示固定循环正常完成后,去执行 ...

  6. cocos2dx 3.x(游戏中的储存-UserDefault)

      引擎提供的UserDefault可以简单地储存游戏中的信息,例如背景音乐音效的开关状态,用户名等等. UserDefault是一个单例对象,可以用getInstance方法来获得. 如果是第一次调 ...

  7. .net core 路由处理请求流程图

  8. windows环境下搭建RocketMQ

    https://blog.csdn.net/hsl_1990_08_15/article/details/80077552 安装完rocketmq后,报磁盘空间不足,只需要修改启动脚本runbroke ...

  9. 14. Longest Common Prefix(暴力循环)

    Write a function to find the longest common prefix string amongst an array of strings. If there is n ...

  10. Yii数据对象笔记

    要执行一个SQL查询,应该遵循以下步骤 - 创建一个 yii\db\Command 的 SQL查询命令 绑定参数(非必须) 执行命令 第1步 - 创建一个 actionTestDb()方法在 Site ...