Chinaunix首页 | 论坛 | 博客
  • 博客访问: 565468
  • 博文数量: 213
  • 博客积分: 6789
  • 博客等级: 准将
  • 技术积分: 1947
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-01 17:11
文章分类

全部博文(213)

文章存档

2012年(9)

2011年(62)

2010年(99)

2009年(43)

分类: Python/Ruby

2010-03-24 10:53:25

Python的Unicode支持

1.内建的unicode()函数

Unicode的工厂方法,同Unicode字符串操作符(u / U)的工作方式很类似,它接受一个string做参数,返回一个Unicode字符串。

2.内建的decode()/encode()方法

decode()和encode()内建函数接受一个字符串做参数返回该字符串对应的解码后/编码后的字符串。decode()和encode()都可以应用于常规字符串和Unicode字符串。decode()方法是在Python2.2以后加入的。

3.Unicode 类型

Unicode字符串对象是basestring的子类、用Unicode()工厂方法或直接在字符串前面加一个u或者U来创建实例。支持Unicode原始字符串,只要在你的字符串前面加一个ur或者UR就可以了。

4.Unicode 序数

标准内建函数ord()工作方式相同,最近已经升级到可以支持Unicode对象了。内建的unichr()函数返回一个对应的Unicode字符(需要一个32位的值);否则就产生一个ValueError异常。

5.强制类型转换
混合类型字符串操作需要把普通字符串转换成Unicode对象。

6.异常
UnicodeError异常是在exceptions模块中定义的,ValueError的子类。所有关于Unicode编解码的异常都要继承自UnicodeError。详见encode()函数。

7.标准编码


8.RE 引擎对Unicode的支持

编码描述
utf-8              变量长度为8的编码(默认编码)
utf-16             变量长度为16的编码(大/小端)
utf-16-le          小端UTF-16编码
utf-16-be          大端UTF-16编码
ascii7             7位ASCII码表
iso-8859-1         ISO 8859-1(Latin-1) 码表
unicode-escape    (定义见Python Unicode构造器)
raw-unicode-escape(定义见Python Unicode 构造器)
native             Python用的内部格式

9.字符串格式化操作符

对于Python的格式化字符串的操作符,%s把Python字符串中的Unicode对象执行了str(u)操作,所以,输出的应该是u.encode(默认编码)。如果格式化字符串是Unicode对象,所有的参数都将首先强制转换成Unicode然后根据对应的格式串一起进行格式转换。数字首先被转换成普通字符串,然后在转换成Unicode。Python字符串通过默认编码格式转化成Unicode。Unicode对象不变,所有其他格式字符串都需要像上面这样转化,下面是例子。

u"%s %s" % (u"abc", "abc") ⇒ u"abc abc"

阅读(1365) | 评论(0) | 转发(0) |
0

上一篇:chmod

下一篇:python 字符串操作

给主人留下些什么吧!~~