day08 学习小结

字符编码

字符是储存了信息的载体,是给人看的

编码是一堆二进制数,是给机器看的

字符编码就是将人类的字符编码成计算机能识别的数字,这种转换必须遵循一套固定的标准,该标准无非是人类字符与数字的对应关系,称之为字符编码表。

文本编辑器存储信息的过程

文本编辑器 --》写文本 --》存储信息

显示屏(内存) --》(转换)硬盘

Unicode及utf8

Unicode可以认识万国编码,无论什么格式的编码,都可以识别

但是Unicode比较占内存,可以再次转化为utf8码。utf8只认识Unicode,只能用Unicode读它。

取用Unicode取,存用utf8存。

gb2312和gbk的区别

gb2312是最开始用的中国编码,只有常用字符

后来转变为gbk,基本中国字符都有

编码和解码

unicode编码 --》(编码)utf8从内存到硬盘

utf8 --》 (解码)Unicode 从硬盘到内存

现在内存只有Unicode编码

Python解释器(文本编辑器)解释python代码的流程

  1. python解释器相当于文本编辑器,把代码读入python解释器 --》 字符编码 -- 》 python2 默认是ascii,python3默认utf8 -- 》 上coding头

    中文   # gbk编码的中文
  2. 识别代码 --》 print有意义 --》 语法问题

    # coding:gbk  # 告诉python解释器用gbk去完成第一步,读入字符中文
  3. 产生结果 --》跑到终端 --》 字符编码

python解释器启动应用程序的流程

  1. 把字符读入python解释器(文本编辑器) --》 识别字符编码
  2. 识别字符(识别语法和关键字) --》 报错
  3. 往终端打印结果 --》 字符编码

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'中文'(python2)
print(lt1)

转载于:https://www.cnblogs.com/bowendown/p/11534563.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值