您的位置:首页 > 编程语言 > Python开发

Python编码处理

2011-04-21 12:05 399 查看
 

Python编码处理

Luo
Weifeng 2011-4-21
 
 转载请保留:http://blog.csdn.net/luoweifeng1989/archive/2011/04/21/6338287.aspx

默认编码

Python 默认编码是ASCII编码。可通过在Python脚本中第一行或第二行添加coding指示行来改变。
#!/usr/bin/env python
# -*- coding: utf-8 -*-

处理字节

Function unichr():

Python内建的Unicode字符构造函数,它将一个Integer数据转换成相对应的长度为1的Unicode
string。例:
>>> print unichr(0x80c3)
胃
 

Function ord():

正好与unichr()相反,它将一个长度为1的Unicode String转换成相应的Integer.例:
>>> hex(ord(unichr(0x80c3)))
'0x80c3'
 
 

字符串处理

Function unicode():

所有的Unicode字符串都是unicode 类的实例,这个类与 str 都是 basestring的子类。Unicode类的构造函数:unicode(string[, encoding, errors])。这里string是一个ascii字符串,encoding说明解码方式(对于第一个参数),Errors说明处理出错规则。例:
>>> print unicode('文件',encoding='gb2312')
文件

或者在代码里直接编码:
s = u”李玉玲”
 

Function .encode()

函数签名:.encode([encoding], [errors='strict']) 。 python内部是是使用 unicode处理编码的,所以要使用特定编码转换前先将他转换成unicode编码,再使用encoding转化成相应编码。encoding指定编码规则。例:
>>> unicode('文件',encoding='gb2312').encode('gb2312')
'/xce/xc4/xbc/xfe'

 
注意:如果字符串不是unicode编码的会出错。可以预先判定一下:
isinstance(s,unicode)

 

Function .decode():

函数签名:.decode([encoding], [errors])将字符串本身。 将encoding指定的编码转换成unicode编码字符串。例:
>>> s = '中文'.decode('gb2312')
>>> isinstance(s,unicode)
True

 

Function :

repr
函数用来取得对象的规范字符串表示。
>>> print repr('李玉玲')
'/xc0/xee/xd3/xf1/xc1/xe1'
>>> type (repr('李玉玲'))
<type 'str'>
 

文件处理

模块 Codec

使用codec模块提供了对应于标准文件库的一系列操作。例:
import codecs
f = codecs.open('unicode.rst', encoding='utf-8')
for line in f:
print repr(line)
 
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息