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 用的内部格式