Python培训之5分钟战胜Python字符编码(一)

Python技术文章2016-08-26 |程序圆python培训学院 |Python培训,Python字符编码

1. 本文不谈复杂的理论,就经验教你字符处理八字真言:确定编码,同类交互。
 2. 文章针对Python 2.7,主要因为3对的编码已经有了很大的改善并且实际原理一样,更改一下操作命令即可。
 3. 了解完本文,你可以轻松解决文字处理,特殊平台(Windows?)下的编码,爬虫编码等问题。
 阅读建议
 
本文分为如下几个部分:
 

  • 原理
  • 具体操作
  • 建议的使用习惯
  • 疑难问题解答

 
如果想要了解我给出的使用习惯,可以直接跳到建议的使用习惯。
 
如果只想要解决相关问题可以直接跳到疑难问题解答。
 
希望本文能够帮到你。
 1. 原
 
为了理解方便,这里不谈理论只做类比,具体想要进一步了解各种编码的理论的百度一下好了。
 
1. 首先说一下我们为什么会碰到各式各样的编码问题:
 

  • 因为我们没有统一编码
  • 因为我们没有用对命令(传对数据)

 
2. 再说一下编码是什么,Python的编码看似复杂,实际上可以看做只有两类编码:Unicode,二进制
 

  • Unicode 相信都很熟悉:,就是\u0000这样的
  • 二进制编码也很简单,就是\x00\x00这样的,平常看到的utf-8,cp936都是二进制编码
  • 二进制编码是具象的,10001100原样就可以存储,而Unicode是抽象的,不能这样存

 #coding=utf8
 # Unicode编码演示
print(‘Unicode:’)
print(repr(‘Unicode编码’))`
 # 二进制编码演示
print(u’二进制编码:’)
print(repr(‘Unicode编码’))`
 # 这里只是看个样子,代码不必去深究
 
3. 再说怎么做,就是只有同种编码之间才可以操作
 

  • 举个简单的类比

 
就把一串数据比为烤鸭,我们作为人和鸭子不同种看待烤鸭的态度完全不一样。
我们看到的是晚上的配菜,鸭子看到的是自己二舅。
如果我用鸭子的眼光逛烤鸭店的时候就会出问题。
因为我在烤鸭店看到了都是自己的二舅。
 

  • 这里说的同种就是我们熟悉的各种编码方式:utf-8,unicode,ucs-bom
  • 这也就是编码问题的核心,非常重要。

 
4. 最后说一下Python的环境
 

  • 本身代码是用Ascii解码的,文件里有Ascii无法解码的内容的话要告知Python怎么解码
  • 内部大量命令都是默认接受Unicode

 # 告知的命令就是下面这一行,删掉就会报错#coding=utf8
print(u’测试编码’)
  本文版权归程序圆Python培训学院所有,欢迎转载,转载请注明程序圆出处。谢谢!程序圆:程序圆教程网首发:http://www.itcast.cn/Python/ 

Python教程

Python培训之前端图片优化七大方法(一)

2021-5-5 8:38:38

Python教程

Python培训之5分钟战胜Python字符编码(二)

2021-5-5 8:39:07

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索