字符编码

字符编码

三大核心硬件

  1. ​ cpu
  2. ​ 内存
  3. ​ 硬盘

python解释器执行文件的流程:

  1. 将python解释器的代码由硬盘读到内存
  2. 将py文件以普通文本文件的格式由硬盘读到内存
  3. Python解释器去内存中读取py文件的数据
  4. 识别python语法,执行相应操作

ASCII码表 美国

​ 用八位二进制来表示一个字符 (所有英文字符+符号一共大概128左右)

最多表示255位

八位二进制 = 8bit

1024 bytes = 1KB

1024KB= 1MB

1024MB= 1GB

1024GB = 1TB

1024TB = 1PB

GBK(中国)

用2个bytes 来代表一个字符,兼容英文字符

万能码:

​ unicode

为了兼容所有的国家的字符,生成Unicode

​ 所有字符都用2bytes

缺点:1、占用内存空间

​ 2、io次数增加,程序运行速度变慢(最致命)

utf-8:

utf-8只与unicode 有对应关系

​ 所有的英文字符用1个bytes表示

​ 所有的中文字符用3个bytes表示

重点:

  1. 用户无论输入什么字符,存入内存,都可以兼容

  2. 硬盘中无论是什么编码,读到内存,都可以兼容unicode

    数据传输时,优先以自己的本国字符编码进行传递

必须掌握:

(内存)unicode 二进制字符>>> 编码(encode) >>> (硬盘)utf -8 二进制字符

(硬盘)utf-8 二进制字符 >>> 解码(decode) >>> (内存) unicode 二进制字符

保证不乱码核心

## 用什么编码存的数据,就用什么编码取

python 2:

默认字符编码是ascii码

python3:

默认字符编码utf - 8

pycharm 默认字符编码是:utf-8

windows操作系统默认字符编码:gbk (中国地区)

原文地址:https://www.cnblogs.com/127-2933/p/11867906.html