歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 拋磚引玉------python中的unicode操作

拋磚引玉------python中的unicode操作

日期:2017/2/27 14:21:32   编辑:更多Linux
  本人獻丑先,將unicode操作的經驗點滴再貼一遍,希望能夠起到拋磚引玉的作用,有不對的請指正。 1、要注意命令行下與GUI下顯示有差別,測試最好在交互示環境下進行,因為GUI的顯示模塊對測試有影響 2、在2.3b1版本中,可以在源碼文件上加上如下兩行,不需解碼即可識別中文字符,但使用unicode編碼才可獲得正確的中文處理 #!/usr/bin/env python # -*- coding: cp936 -*- import locale encoding = locale.getdefaultlocale()[1] s1 = unicode('中華人民共和國', encoding) s2 = '中華人民共和國' print s1.encode(encoding), s2 print len(s1), len(s2) # 輸出:7 14 3、在sitecustomize.py文件中加入以下兩句即支持中文(該文件Python會在啟動時自動導入。) import sys sys.setdefaultencoding('mbcs') # mbcs編碼支持亞洲語言,包括中文,2.3b1版下也可用cp936編碼(關於這些編碼,希望有人能夠作個專題闡述) >>> s = '中華人民共和國' # python會自動調用mbcs編碼轉換,使用時不需任何特殊處理 >>> print s 中華人民共和國 >>> 4、讀寫unicode文件 >>> u = unicode("中國", "mbcs") >>> u u'\u4e2d\u56fd' >>> print u 中國 >>> s = codecs.open("test-uft16.txt", "w", "mbcs") >>> s.write(u) # 寫中文字符到文件 >>> s.close()




Copyright © Linux教程網 All Rights Reserved