Python2.x版本如何避免中文乱码?

作者: 云中布衣   分类:  学习笔记    热度: (455℃)   时间: 2017-1-13 13:24   标签: #Python    

讲真,Python真的什么都好,即使被人广为诟病的速度,其实通过一些优化也差不到哪儿去,毕竟一些关键性的代码也还是用C写的。但是Python的编码问题一直是一个头疼的问题,这不最近在用PyQt写个东西时候又遇到了中文乱码问题,着实有点麻烦。

废话我也不多说,关于字符编码的问题网上一搜一大片,下面谈些实际性的解决方案,如果您用的Python3.x版本那么就请直接忽略吧。

1.首先也是最基础的,在开头声明,采用utf-8编码,别问我为什么,因为它好用。

声明的格式可以如下:

a. # -*- coding:utf-8 -*-

b. # coding:utf8

当然我习惯b方案,因为敲键盘的次数比较少

2.在遇到字符串时,特别是从命令端输入或者是UI控件获取到的字符串,立即转化为unicode,不要用str(),直接用unicode()

unicode_str = unicode(str, encoding='utf-8')

3.对文件进行操作,打开文件的时候,最好用codecs.open,替代open

import codecs

codecs.open('filename', encoding:'utf-8')

关于codecs.open官方文档里是这么描述的:

Note:The wrapped version will only accept the object format defined by the codecs, i.e. Unicode objects for most built-in codecs. Output is also codec-dependent and will usually be Unicode as well.

<完>由云中布衣整理,转载请注明出处


56.8K

发表评论:

© 云中布衣 2015 | Driven by EMLOG  | SiteMap | RunTime: 8.90ms&RSS  |   | 回到顶部

文章数量【230】 评论数量【158】 稳定运行【1091天】

Visitor IP Address【54.198.104.202】