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

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