Python 2.7中文显示与处理方法

yipeiwu_com5年前Python基础

在学习使用Python的过程中,一定会遇到文字输入与处理,这就不可避免的会使用中文字符。但是Python2.7默认使用的字符集是ASCII,并不支持中文字符的显示与处理,因些如果要在Python中处理中文就需要进行一些额外的处理。

一、在开头处声明Python使用UTF-8编码显示字符

#/usr/bin/env python
# -*- coding: UTF-8 -*-

但这样做,只是让你的程序在运行的过程中显示中文,如果你要将中文字符存储在文件中,或者写入到数据库中,这样的设置是不能满足你的需要。

二、设置系统默认字符编码

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

也许是Python的bug在import sys后必须再一次reload(sys),下面去设置默认字符编码的语句才能生效。

三、遇到需要处理中文的地方,就随时进行UTF-8编码

经常会遇到的是,进行了第一步和第二步设置后,还是无法正常显示和处理中文字符,这时也只能随用随编码了。

假设待处理字符串为string

使用下面的语句进行utf-8编码:

string.encode('utf-8')

使用下面的语句进行utf-8解码:

unicode(string, encoding='utf-8')

如果为了方便可以将上面二个语句写成方法随时调用:

def encode_utf8(string):
 return string.encode('utf-8')

def decode_utf8(string)
 return unicode(string, encoding='utf-8')

以上这篇Python 2.7中文显示与处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python 并发编程 阻塞IO模型原理解析

python 并发编程 阻塞IO模型原理解析

阻塞IO(blocking IO) 在linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样: 当用户进程调用了recvfrom这个系统调用,k...

python常见数制转换实例分析

本文实例讲述了python常见数制转换用法。分享给大家供大家参考。具体分析如下: 1.进位制度 Python中二进制是以0b开头的: 例如: 0b11 则表示十进制的3 8进制是以0开头...

Python基本数据类型详细介绍

1、空(None)表示该值是一个空对象,空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。2、布尔类型(Boolean...

tensorflow 1.0用CNN进行图像分类

tensorflow升级到1.0之后,增加了一些高级模块: 如tf.layers, tf.metrics, 和tf.losses,使得代码稍微有些简化。 任务:花卉分类 版本:tenso...

使用wxPython获取系统剪贴板中的数据的教程

涉及到开发桌面程序,尤其是文本处理,剪贴板就很常用,不像 java 中那么烦锁,wxpython 中访问剪贴板非常简单,寥寥几句足以。 # 取得剪贴板并确保其为打开状态 text_o...