02.字符编码

一、计算机的系统分为三层: 应用软件 操作系统 硬件 二、软件执行的过程 1、文本编辑器读一个文件的三个过程 ⑴、先启动文本编辑器 ⑵、文本编辑器会将文件内容读入内存 ⑶、将读入内存的内容显示到屏幕上 2、cpython解释器执行一个python文件的三个过程: ⑴、先启动python解释器 ⑵、python解释器会将python文件的内容当中普通文本内容读入内存 ⑶、开始解释执行刚刚读入内存的代码,识别python语法 三、字符编码 字符编码指将字符编码成二进制数字(字节) 编码的过程一定要遵循一个标准,这个标准称为字符编码表 字符-----编码----->二进制数字(字节)-----解码------>字符 四、编码规则:内存中固定使用unicode编码(不可更改),我们可以改变的是数据由内存存到硬盘时采用的编码(应该采用utf-8) 1、ASCII表:只能识别英文字符,用8bit(1Bytes)对应1个英文字符 2、GBK表:可识别中文、英文字符,用8bit(1Bytes)对应1个英文字符,用16bit(2Bytes)对应1个中文字符 1个英文字符:8bit(1Bytes) 1个中文字符:16bit(2Bytes) 3、unicode(内存中默认使用该编码):用2Bytes对应1个字符 1、可以识别万国字符 2、可以与各种字符编码的二进制数字都有对应关系 4、utf-8全称Unicode Transformation Format 1个英文字符:8bit(1Bytes) 1个中文字符:48bit(3Bytes) ***unicode二进制-----编码----->utf-8二进制-----解码----->unicode二进制 五、解决乱码的核心问题 1、当初以什么编码存的,就应该以什么编码去读(解码) 2、保证运行Python程序的前两个阶段不乱码的解决方案:在文件首行添加文件头如#coding:utf8(utf8指存储时的字符编码) 六、python解释器的编码 1、python解释器默认的编码 python3:默认utf-8 python2:默认ASCII 七、python对字符串的存储 python3的字符串类型在内存中存成unicode格式的二进制 python2的字符串类型在字符前加‘u'内存中存成unicode格式的二进制 八、打印字符编码 x = '上' res1 = x.encode('utf-8') res2 = x.encode('gbk') print(res1)--->b'\xe4\xb8\x8a' print(res2)--->b'\xc9\xcf' encode把字符编码为二进制数字,输出时为了方便阅读python解释器自动把二进制字符转为十六进制展示
posted on 2019-04-29 10:56  Nicolezhao  阅读(136)  评论(0)    收藏  举报