Python编码处理
2011-04-21 12:05
399 查看
Python编码处理
LuoWeifeng 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的Unicodestring。例:
>>> 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)
相关文章推荐
- python urllib中的编码处理示例
- python的print对编码的处理
- Python处理以BOM开头的UTF-8编码文件
- 详解Python中使用base64模块来处理base64编码的方法
- python中文字符串编码处理
- Python2 中文编码处理
- Python 中的 str 与 unicode 编码处理
- python编码处理:unicode字节串转成中文 各种字符串举例说明
- Python 编码处理-str与Unicode的区别
- python处理中文编码和判断编码示例
- python的print对编码的处理
- python 学习之Windows 下的编码处理!
- python2.7.x的字符串编码到底什么鬼?(中文和英文的处理)
- [置顶] 【python 爬虫】python中url链接编码处理方法
- [Python学习]Unicode及编码处理心得
- SyntaxError:Non-ASCII character ,……no encoding declared. --python 中文处理的编码问题
- python的print对编码的处理
- 使用自己的Python函数处理Protobuf中的字符串编码
- python urllib2 处理编码的两个注意点
- python处理文本又一坑--又是编码