码迷,mamicode.com
首页 > 其他好文 > 详细

字符编码

时间:2018-11-23 17:27:15      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:识别   nsf   添加   mat   ati   解释器   乱码问题   数据   ascii表   

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

  字符>>>>编码>>>>数字
  数字>>>>解码>>>>字符
文本编辑器读一个文件的3个过程
  先启动文本编辑器,文本编辑器会将文件内容读入内存
  将读入内存的内容打印到屏幕上
python解释器执行一个py文件的3个过程
  先启动python解释器,python解释器会将py文件的内容当作普通文本内容读入内存,python解释器执行刚刚读入内存的代码,识别python语法


ASCII表:只能识别英文字符,只有英文字符与数字的对应关系
  用8bit对应一个英文字符
  一个英文字符对应1Bytes

GBK表:只能识别中文字符,英文字符
  一个英文字符对应1Bytes
  用16个Bit对应一个中文字符
  一个中文字符对应2Bytes

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


UTF-8全称Unicode Transformation format
  一个英文字符>>>1Bytes
  一个中文字符>>>3Bytes


结论
  Unicode二进制>>>>编码>>>>UTF-8二进制
  Unicode二进制>>>>解码>>>>UTF-8二进制

内存中固定使用Unicode编码,我们可以改变的是数据由内存刷到硬盘时采用的编码,应该才有UTF-8

解决乱码问题的核心:
  字符当初以什么编码存的,就应该以什么编码去读
  保证python程序前两个阶段不乱码的解决方案:
  添加文件头,在文件首行添加#coding:文件当初存的字符编码

  python2的字符串前加u
  x=u“sss”

  python默认UTF-8
  python默认ASCII

  #coding:gbk

 

字符编码

标签:识别   nsf   添加   mat   ati   解释器   乱码问题   数据   ascii表   

原文地址:https://www.cnblogs.com/xuezhihao/p/10008688.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!