博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符编码
阅读量:6068 次
发布时间:2019-06-20

本文共 1077 字,大约阅读时间需要 3 分钟。

1. 计算机系统分为三层:

应用软件

操作系统
硬件

2.

文本编辑器读一个文件的三个过程:
1. 先启动文本编辑器
2. 文件编辑器会将文件内容读入内存
3. 将读入内存的内容显示到屏幕上

Cpython解释器执行一个py文件的三个过程:

1. 先启动python解释器
2. python解释器会将py文件的内容当中普通的文本内容读入内存
3. 开始解释执行刚刚读入内存的代码,识别python语法

 

 

3. 字符编码
字符编码指的是字符转换成/编码成数字
编码的过程一定要遵循一个标准,该标准称之为字符编码表

字符--------编码--------》数字

字符《--------解码--------数字

 

'''

1. ASCII表:只能识别英文字符,用8bit对应一个英文字符

 1个英文字符====>1Bytes

2. GBK表:可以识别中文字符、英文字符,用8bit对应一个英文字符,用16个bit对应一个中文字符
1个英文字符====>1Bytes
1个中文字符====>2Bytes

3. unicode(内存中默认使用该编码):用2Bytes表示一个字符
 1. 可以识别万国字符
 2. 与各种字符编码的二进制数字都有对应关系

4. utf-8全称Unicode Transformation Format:
 1个英文字符====>1Bytes
 1个中文字符====>3Bytes

 

# 结论:

1、 编码与解码
字符--------编码--------》数字
字符《--------解码--------数字

 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

 

5.

 python3的字符串类型在内存中存成unicode格式的二进制

转载于:https://www.cnblogs.com/suncunxu/p/10009301.html

你可能感兴趣的文章
论文阅读笔记二十九:SSD: Single Shot MultiBox Detector(ECCV2016)
查看>>
机器学习---线性回归(Machine Learning Linear Regression)
查看>>
实验八:接口与实现接口的类
查看>>
云时代架构读后感(十四)
查看>>
Spring - bean的依赖关系(depends-on属性)
查看>>
LinkedHashMap的accessOrder的作用
查看>>
装饰器的修复wraps,偏函数partial 以及chain
查看>>
loadrunner java协议脚本要点
查看>>
Windows Dos 打开服务命令(转)
查看>>
read,write,accept,connect 超时封装
查看>>
Redis主从配置及HA方案
查看>>
统计字符次数
查看>>
[国家集训队]Crash的数字表格【莫比乌斯反演】
查看>>
Openmeeting 网页打开缓慢,视频卡的一个解决方法
查看>>
倾斜摄影技术在城市规划行业中扮演着什么样的角色?
查看>>
Linux - route & traceroute & ip
查看>>
Elementary methods in number theory exercise 1.4.37 $1+\frac{1}{2}+\frac{1}{3}+\cdots+\frac{1}{n...
查看>>
不支持关键字:metadata
查看>>
论文笔记:Ten years of pedestrian detection, what have we learned?
查看>>
node.js-3
查看>>