码迷,mamicode.com
首页 > 编程语言 > 详细

Python 编码

时间:2017-11-28 01:18:38      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:默认   增加   containe   升级   使用   nal   utf-8   节省空间   过程   

.编码类型:

 

  • ASCII 占1个字节,只支持英文
  • GB2312 占2个字节,支持6700+汉字
  • GBK GB2312的升级版,支持21000+汉字
  • Shift-JIS 日本字符
  • ks_c_5601-1987 韩国编码
  • TIS-620 泰国编码  
  •  Unicode  万国码      
    • 为了解决存储和网络传输的问题,出现了Unicode Transformation Format,学术名UTF,即:对unicode中的进行转换,以便于在存储和网络传输时可以节省空间!

      • UTF-8: 使用1、2、3、4个字节表示所有字符;优先使用1个字符、无法满足则使增加一个字节,最多4个字节。英文占1个字节、欧洲语系占2个、东亚占3个,其它及特殊字符占4个
      • UTF-16: 使用2、4个字节表示所有字符;优先使用2个字节,否则使用4个字节表示。
      • UTF-32: 使用4个字节表示所有字符

2.Python3 执行过程

     解释器找到代码文件,把代码字符串按文件头定义的编码加载到内存,转成unicode

     把代码字符串按照语法规则进行解释,

     所有的变量字符都会以unicode编码声明

3.解码和编码

UTF-8 --> decode 解码 --> Unicode
Unicode --> encode 编码 --> GBK / UTF-8 ..    #网页爬取的时候,转码s.decode(‘gbk‘, ‘ignore‘).encode(‘utf-8′)
 

decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode(‘gb2312‘),表示将gb2312编码的字符串str1转换成unicode编码。

encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode(‘gb2312‘),表示将unicode编码的字符串str2转换成gb2312编码。

Python只要出现各种编码问题,无非是哪里的编码设置出错了
4常见编码错误的原因有:

  • Python解释器的默认编码
  • Python源文件文件编码
  • Terminal使用的编码
  • 操作系统的语言设置

 

 

Python 编码

标签:默认   增加   containe   升级   使用   nal   utf-8   节省空间   过程   

原文地址:http://www.cnblogs.com/jdy113/p/7906757.html

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