字符编码到python编辑器流程
字符(存储了信息的东西)编码():
键盘发送的是电流--》主机(内存)接受到电流(当作010100110101)--》显示屏 接受电流(当作010100110101-------》键盘)
编码:01001010101--》键盘
字符编码
文本编辑器存储信息的过程
文本编辑器--》写文本--》存储信息
显示屏(内存)---》(转换)硬盘
中文-->0101010101
English-->01010111101010
日本語-->0101101010
早期 美国人 才用计算机
0--》a
1--》b
0001--》a
0011--》b
...
1111--》w
0000 0000-->a
ascII编码--》美国人
print(chr(64))
print(ord('♂'))
#ascII编码的转换关系的方法
print(chr(64))
print(ord('♂'))
日本也要用计算机,韩国也要用计算机,中国也要用计算机
日本人也造一种编码shift_JIS shit
韩国人也造一种编码Euc-kr fuckr
中国人也造一种编码gb2312
我要在韩国人的电脑上写日文(0001 0010)----ab---》韩国--cd---》以前看片的乱码现象
早期各个国家只能使用各个国家的计算机--》天下大事分久必合合久必分
这个时候出现了unicode编码(内存)(一种对应关系)
unicode可以认识万国编码
硬盘中无论躺着什么格式的编码文件,Unicode都可以识别,假设你看岛国片,从硬盘中读取fuck编码,unicode帮你转换成gb2312,解决了乱码问题,用unicode存
都用unicode取,有用unicode存,以后写代码只能写Unicode--》以后全世界的代码都是Unicode
unicode存的时候会占用大量空间,所以出现了utf8(之和Unicode一一对应)--》解决了Unicode内存占用过多 的问题
现在所有电脑都是这样的--》内存中Unicode取,存用utf8(硬盘)全世界的人写代码/写文件都用utf8
内存中为什么不用utf8?utf8和gb2312/fuck都没有转换关系,因此内存都要用unicode
未来迟早有一天内存要用utf8
gb2312和gbk的区别
先能用就行,不常用的词+繁体字
gb2312--》常用词
gbk--》所有字
Windows系统的笔记本默认编码是gbk,除此之外都是utf8
用什么编码写,就用什么编码读
写用utf8,读用gbk--》乱码
写用utf8,存用gbk --》乱码,读用--》除非你找日文编码的の(这是中文的一个符号,不是日文的の)
乱码发生在读的时候
用utf8的字符放入gbk
编码和解码
unicode编码--》(编码)utf8从内存到硬盘
utf8--》(解码)unicode从硬盘到内存
现在内存只有Unicode编码
python编辑器(文本编辑器)解释python代码的流程
1.python解释器相当于文本编辑器,把代码读入python解释器--》字符编码-》python2默认ascII码,python3默认utf8
中文#gbk编码的中文加上coding的头
1.加上coding头
2.识别代码--》print有意义
#coding gbk#告诉python解释器用gbk去完成第一步,读入字符
中文
3.产生结果--》跑到终端--》字符编码
终端有一个特性:你的电脑是什么编码的,就按照什么编码来,windows终端是utf-8
python2和python3的编码区别
python2
python2有两种存储变量的形式,第一种:unicode;第二种:按照coding头来的
假设python2用utf8存储x='中文',当你print(x)的时候,终端接收gbk的变量x,但是windows终端编码是utf8,会乱码
假设python2用unicode存储,终端接受的是unicode,windows终端编码是utf8还是gbk重要吗?不会乱码=
# coding:gbk
lt1 = '中文' # utf存储的
# lt1 = ['中文'] # []让他不用终端的编码转化,显示01010101001
print lt1 # ['\xe4\xb8\xad\xe6\x96\x87']
lt2 = u'中文' # u'中文'让他变成unicode # 早期用python2定义中文,必须得加上u,让他变成unicode存储
# lt2 = [u'中文']
print lt2 # '中文'
python3
python3只有一种存储变量的形式,unicode
python3用unicode存储,终端接收的是unicode,widonws终端编码是utf还是gbk不重要,不会乱码
lt1 = '中文' # == u'中文'
print(lt1)
字符编码到python编辑器流程的更多相关文章
- 字符编码和Python代码操作文件
字符编码和Python代码操作文件 读写模式之a模式 # a模式 只追加模式 # 路径不存在:自动创建 with open(r'a.txt','a',encoding='utf8') as f: pa ...
- 字符编码和python中的文件处理
字符编码与python文件处理 ---------------- 字符编码 1.常见的编码 ASCII: 美国人发明的,只编码英文字母和符号,1个字节. GB2312: 中国人发明的,增加了中文汉字和 ...
- 字符编码,python解释器------总结
目录 1. 编码: 1.字符编码 2. 编码的历史 3. 编码和解码 2. python解释器 解释代码的流程 1. 读取文本到解释器 2. 识别代码(检查语法问题) 3. 往终端打印 1. 编码: ...
- 字符编码和python文件操作
字符编码和文件操作 目录 字符编码和文件操作 1. 字符编码 1.1 什么是字符编码 1.2 字符编码的发展史 1.2.1 ASCII码 1.2.2 各国编码 1.2.3 Unicode 1.3 字符 ...
- 字符编码和python .encode().decode()方法
字符编码与encode.decode的问题: 用8个开关表示世界万物 ASCII : American Standard Code for Information Interchange,美国 ...
- 字符编码和python使用encode,decode转换utf-8, gbk, gb2312
ASCII码 标准ASCII码使用7位二进制数表示大写或小写字母,数字0到9标点符号以及在美式英语中使用的特殊控制字符. 在标准ASCII码中,最高位(b7)用作奇偶校验位,所谓奇偶校验,是指在代码传 ...
- Python中的字符串与字符编码
本节内容: 前言 相关概念 Python中的默认编码 Python2与Python3中对字符串的支持 字符编码转换 一.前言 Python中的字符编码是个老生常谈的话题,同行们都写过很多这方面的文章. ...
- Python的字符编码
Python的字符编码 1. Python字符编码简介 1. 1 ASCII Python解释器在加载.py文件的代码时,会对内容进行编码,一般默认为ASCII码.ASCII(American St ...
- 深入理解Python的字符编码
原文:http://lukejin.iteye.com/blog/598303 在处理中文的时候,我们有时候会碰到中文乱码的问题. 究其根本原因是正确的字节序列按照错误的编码方式解码成字符 或者正确的 ...
随机推荐
- 关于类中的参数类型和return返回值
基础有些忘了,现在重新巩固一下 先定义一个Person类 class Person(): def __init__(self,name,age,height): self.name=name, sel ...
- PAT_A1075#PAT Judge
Source: PAT A1075 PAT Judge (25 分) Description: The ranklist of PAT is generated from the status lis ...
- 并发编程(二)——利用Process类开启进程、僵尸进程、孤儿进程、守护进程、互斥锁、队列与管道
Process类与开启进程.守护进程.互斥锁 一.multiprocessing模块 1.multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模 ...
- DLL 调用 对话框 以及 如何获取调用dll 应用程序(窗口程序)的窗口句柄
1.一般创建需要的窗口,转换成相应的窗口类: 声明一个导出函数,来处理窗口的显示,如: CTest test; extern "C" __declspec(dllexport) v ...
- springboot启动方式
第一种(本地开发使用)在项目的根目录下有一个带有main函数的Application类,可以直接执行这个main函数.(使用的是SpringBoot内置的tomcat) 第二种(本地开发使用)在pom ...
- Swift结构体和类
Swift结构体 在Swift标准中,绝大多数的公开的类型都是结构体,而枚举和类只占很小的一部分 比如Bool.Int.Double.String.Array.Dictionary等常见的类型都是结构 ...
- usermod -修改使用者帐号
总览 SYNOPSIS usermod [-c comment] [-d home_dir [-m]] [-e expire_date] [-f inactive_time] [-g initial_ ...
- sublime快捷键汇总
Sublime Text 3 快捷键精华版 Ctrl+Shift+P:打开命令面板Ctrl+P:搜索项目中的文件Ctrl+G:跳转到第几行Ctrl+W:关闭当前打开文件Ctrl+Shift+W:关闭所 ...
- Linux 系统分区与目录介绍
分区 分区类型 主分区:总共最多只能分四个 扩展分区: 只能有一个,也算作主分区的一种,也就是说主分区加扩展分区最多有四个. 但是扩展分区不能存储数据和格式化,必须再划分成逻辑分区才能使用. 逻辑分区 ...
- NX二次开发-UFUN读取图纸尺寸的值UF_DRF_ask_dimension_text
今天发现UF_DRF_ask_dim_info这个函数不能读带附件文本的尺寸,有附加文本dim_info->text_info->text->full_string;读出来的是附加文 ...