Python 的Unicode 支持

内建的unicode()函数

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

print unicode('hello')

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

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

print 'hello'.encode('UTF-8')
print 'hello'.decode('UTF-8')

Unicode 类型

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

print u'hello'

Unicode 序数

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

print unichr(97)

强制类型转换

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


异常

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

标准编码
下表 简洁地列出了Python 中常用的编码方式.更详细、完全的列表见Python 的文档,下面是它的链接:http://docs.python.org/lib/standard-encodings.html

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章