字符编码
Posted liushen1995
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符编码相关的知识,希望对你有一定的参考价值。
1、计算机系统分为三层
应用软件
操作系统
硬件
2、文本编辑器、cpython执行一个文件的三个过程
1)、启动文本编辑器
2)、 文本编辑器会将文件内容读入内存
3)、将读入内存的内容显示到屏幕上
cpython启动文件的三个过程
1)、启动python解释器
2)、python解释器会将py文件的内容当中普通文本内容读入内存
3)、开始解释执行刚读入内存的代码,识别python语法
3、字符编码
1)、字符编码是指将字符转换成/编码成数字
2)、编码的过程一定要遵循一个标准,这个标准称之为字符编码表
字符--------->编码-------------->数字
字符<--------解码<--------------数字
①、ASCLL表只能识别英文字符,用8bit对应一个英文字符
1个英文字符=1Bytes
②、GBK表可以识别中文字符,英文字符,用8bit对应一个英文字符,用16bit对应一个中文字符
1个英文字符=1Bytes
1个中文字符=2Bytes
③、unicode(内存默认使用该编码)用2Bytes=一个字符
1)、可以识别万国字符
2)、与各种字符编码的二进制都有对应关系
④、utf-8全称Unicode Transformation Format
1个英文字符====>1Bytes
1个中文字符====>3Bytes
1、 编码与解码
字符--------编码--------》数字
字符《--------解码--------数字
unicode二进制========编码========》utf-8二进制
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
python2:默认ASCII
5.
python3的字符串类型在内存中存成unicode格式的二进制
python3的字符串类型在内存中存成unicode格式的二进制
以上是关于字符编码的主要内容,如果未能解决你的问题,请参考以下文章